首页 > 解决方案 > 使用 Dockerfile 安装自制软件

问题描述

我正在尝试使用 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 文件来运行相同的确切步骤。

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

标签: dockerdebiandockerfilehomebrew

解决方案


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 实例中执行的任何环境更改都将在该实例终止后立即丢失。


推荐阅读