在 Docker 构建期间安装自制软件包 [英] Installing homebrew packages during Docker build

查看:40
本文介绍了在 Docker 构建期间安装自制软件包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试安装 docker 映像,并希望在运行容器时预安装某些 Homebrew 软件包.我能够很好地构建它并且版本语句按预期工作,但是当我运行安装的包时丢失了.知道我做错了什么吗?

I am trying to install setup a docker image and want certain Homebrew packages pre-installed when I run the container. I am able to build it just fine and version statements are working as expected but when I run the installed packages are missing. Any idea what I am doing wrong?

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 环境变量:

You have to set the PATH environment variable in the Dockerfile with:

ENV PATH=~/.linuxbrew/bin:~/.linuxbrew/sbin:$PATH

这是一个完整的工作 Dockerfile:

Here is a complete working 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 构建期间安装自制软件包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆