如何在 Ubuntu 上的 Docker 容器内安装自制软件

2024-04-20

当我尝试install https://docs.brew.sh/Homebrew-on-Linux#installUbuntu 18.04 上的自制程序

# Dockerfile
FROM ubuntu:18.04

RUN apt-get update && apt-get install build-essential curl file git -y
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

出现错误:

==> 通过运行以下命令将 Ruby 添加到您的 PATH: PATH=/root/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/current/bin:$PATH 不要以 root 身份运行它!


您是否有无法使用的原因官方形象 https://hub.docker.com/r/linuxbrew/linuxbrew (docker pull linuxbrew/linuxbrew)?它基于 Ubuntu 16.04 / Xenial。

如果你必须使用 Bionic (18.04),正确的安装 homebrew 的方法是按照官方的步骤Dockerfile https://hub.docker.com/r/linuxbrew/linuxbrew/dockerfile.

但要让 Dockerfile 正常工作,您需要安装 ruby​​,创建一个非 root 用户并以该用户身份执行安装脚本。就像这样,

FROM ubuntu:18.04

RUN apt-get update && \
    apt-get install build-essential curl file git ruby-full locales --no-install-recommends -y && \
    rm -rf /var/lib/apt/lists/*

RUN localedef -i en_US -f UTF-8 en_US.UTF-8

RUN useradd -m -s /bin/bash linuxbrew && \
    echo 'linuxbrew ALL=(ALL) NOPASSWD:ALL' >>/etc/sudoers

USER linuxbrew
RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

USER root
ENV PATH="/home/linuxbrew/.linuxbrew/bin:${PATH}"

PS:我已经添加了--no-install-recommends忽略可选的依赖关系和rm -rf /var/lib/apt/lists/*去除apt-get剩余物从而减小图像尺寸。还,locales添加安装UTF-8或brew当您运行该命令时会发出警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 上的 Docker 容器内安装自制软件 的相关文章

随机推荐