【问题标题】:Installing homebrew packages during Docker build在 Docker 构建期间安装自制软件包
【发布时间】:2023-03-23 11:49:01
【问题描述】:
我正在尝试安装 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
【问题讨论】:
标签:
docker
debian
dockerfile
homebrew
【解决方案1】:
您必须在 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