随着时间的推移,我组装了一个杂乱的 dockerfile 来创建我的开发环境,它通常运行良好。不过,有几种情况,我在 docker build 期间安装了一些东西,似乎运行良好。但当我创建一个容器时,找不到该程序。
以下是我的dockerfile中的两行:
跑步apt-get install -y apt-transport-https
跑步apt-get update && apt-get install -y heroku
dockerfile 构建并且容器启动正常。需要 apt-transport-https 才能安装的 heroku 运行正常,但是当我尝试在正在运行的容器内运行 apt-transport-https 时,却找不到它。
我以为这可能是路径问题,但当我用“find / -type f -name apt-transport-https”搜索 apt-transport-https 时,它却不存在
所以我的问题是:
- 为什么我创建容器时 apt-transport-https 不存在?
- 我如何确保它存在?
答案1
apt-transport-https
允许apt
通过 https 获取软件包。因此它不会直接执行,但 apt 会使用它进行 https 连接。
https://packages.debian.org/en/jessie/apt-transport-https
您可以通过以下方式在容器中找到该包:
dpkg -l | grep apt-transport-https
或者
apt list --installed | grep apt-transport-https