使用 Dockerfile 安装自制程序

问题描述 投票:0回答:2

我正在尝试使用 Dockerfile 安装自制程序,但无法这样做。我有以下声明(基于 https://docs.brew.sh/Homebrew-on-Linux 上的替代安装步骤):

RUN git clone https://github.com/Homebrew/brew ~/.linuxbrew/Homebrew \
&& mkdir ~/.linuxbrew/bin \
&& ln -s ../Homebrew/bin/brew ~/.linuxbrew/bin \
&& eval $(~/.linuxbrew/bin/brew shellenv)
RUN brew --version

最后一行抛出错误,提示“brew 命令未找到”。

我可以使用 ENTRYPOINT 并指定 bash 文件来运行相同的步骤。

对此的任何帮助将不胜感激。

docker debian dockerfile homebrew
2个回答
8
投票

eval
发生在第一个
RUN
语句中,但不会持续到下一个语句。你想加入两者。

RUN git clone https://github.com/Homebrew/brew ~/.linuxbrew/Homebrew \
&& mkdir ~/.linuxbrew/bin \
&& ln -s ../Homebrew/bin/brew ~/.linuxbrew/bin \
&& eval $(~/.linuxbrew/bin/brew shellenv) \
&& brew --version

一般来说,您在一个 shell 实例中执行的任何环境更改(一个

RUN
语句或您的
ENTRYPOINT
)将在该实例终止后立即丢失。另请参阅 shell 脚本中的全局环境变量


1
投票

您是否尝试将其添加到路径中?

export PATH=$HOME/.linuxbrew/bin:$PATH

© www.soinside.com 2019 - 2024. All rights reserved.