我是Docker的新手,并试图扩展现有的图像。
我知道您可以使用 Docker 文件中的 FROM 命令扩展现有的 Docker 映像(例如,如何扩展现有的 Docker 映像?),但我的问题是 - 一般来说,如何在不知道基础映像的基本操作系统或哪个包管理器可用的情况下安装其他软件/软件包?
还是我的想法是错误的?
最佳做法是运行要FROM
启动的基本映像(可能使用 docker exec
),并查看可用的包管理器(如果有)。然后,您可以使用正确的软件安装过程编写Dockerfile
。
像向任何计算机添加软件一样:您要么自己登录并四处逛逛,要么编写一个可以处理所有预期变化的安装程序。
在大多数情况下,会提供源 Dockerfile,您可以向后走链并获得更好的理解。
例如,如果我们查看官方 Redis 图像,我们会看到信息选项卡显示
支持的标签和相应的 Dockerfile 链接
- 2.6.17, 2.6 (2.6/Dockerfile)
- 2.8.19, 2.8, 2, 最新 (2.8/Dockerfile)
因此,如果您有兴趣构建redis:latest
,请点击第二个链接,并看到它又是在debian:wheezy
的基础上构建的。
大多数用户创建的映像要么在中心页面上包含其 Dockerfile,要么从那里的链接包含。