在 Docker 构建期间安装自制程序包
Installing homebrew packages during Docker build
我正在尝试安装 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
您必须在 Dockerfile 中设置 PATH 环境变量:
ENV PATH=~/.linuxbrew/bin:~/.linuxbrew/sbin:$PATH
这是一个完整的工作 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
我正在尝试安装 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
您必须在 Dockerfile 中设置 PATH 环境变量:
ENV PATH=~/.linuxbrew/bin:~/.linuxbrew/sbin:$PATH
这是一个完整的工作 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