Emo*_*mon 8 debian homebrew docker dockerfile
我正在尝试安装 docker 映像,并希望在运行容器时预安装某些 Homebrew 软件包。我能够很好地构建它,并且版本语句按预期工作,但是当我运行时,已安装的软件包丢失了。知道我做错了什么吗?
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 \
&& brew tap aws/tap && brew install aws-sam-cli \
&& sam --version
Run Code Online (Sandbox Code Playgroud)
您必须使用以下命令在 Dockerfile 中设置 PATH 环境变量:
ENV PATH=~/.linuxbrew/bin:~/.linuxbrew/sbin:$PATH
Run Code Online (Sandbox Code Playgroud)
这是一个完整的工作 Dockerfile:
FROM debian
RUN apt-get update && apt-get install -y git curl binutils clang make
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 \
&& brew tap aws/tap && brew install aws-sam-cli \
&& sam --version
ENV PATH=~/.linuxbrew/bin:~/.linuxbrew/sbin:$PATH
Run Code Online (Sandbox Code Playgroud)