很抱歉,如果问题是基本问题,但是否有可能在新映像中从另一个具有不同卷的映像构建docker映像?我的用例如下:
我们如何实现这一目标?我想避免将额外的文件夹放入主机文件系统
非常感谢
答案 0 :(得分:0)
您有几种选择,而不必涉及运行容器的主机操作系统 。
制作您自己的Dockerfile,使用FROM
指令从库/ odoo Docker映像继承,并将COPY
文件放入/mnt/extra-addons
目录。这仍然在某种程度上牵涉到您的主机操作系统,但是由于您不一定要在运行它的同一主机上构建Docker映像,因此可以接受。
像(1)一样创建自己的Dockerfile,但是在运行时使用入口点脚本下载/mnt/extra-addons
的内容。这将增加容器的启动时间,因为需要在运行服务之前进行下载,但无需涉及主机目录。
如果您的构建管道支持,我个人会选择(1)。这将使插件直接进入图像,因此图像本身将是一个完整的,随时可用的构建工件。
答案 1 :(得分:0)
在Docker开发团队添加您正在寻找的功能之前,这种方法似乎效果最好。
Dockerfile
FROM percona:5.7.24 as dbdata
MAINTAINER monkey@blackmirror.org
FROM centos:7
USER root
COPY --from=dbdata / /
随便做什么。这消除了体积问题。哎呀,也许我会写工具来自动做到这一点:)