如何将多个图像合并为一个?
问题描述:
我有几个图像(第三方),如设置一个MySQL,建立一个通用的PHP应用程序环境,建立第三方工具。如何将多个图像合并为一个?
我想打一个Dockerfile /泊坞图像,结合这两个影像,然后运行一些命令
imageA --
\
imageV -- ---> sharedImageA..X
/
imageX --
答
你可以把它们连。你可以找到更多在这里
https://github.com/docker/docker/issues/3378#issuecomment-31314906
从上面的链接采取上述SvenDowideit
虽然在一般
## Dockerfile.genericwebapp might have FROM ubuntu
cat Dockerfile.genericwebapp | docker build -t genericwebapp -
## Dockerfile.genericpython-web would have FROM genericwebapp
cat Dockerfile.genericpython-web | docker build -t genericpython-web -
## and then this specific app i'm testing might have a docker file that containers FROM genericpython-web
docker build -t thisapp .
笔者,这是一个不好的做法,有一个以上的在同一个容器上运行进程。
答
由于从秒和第三图像的依赖性可以从第一图像的依赖性冲突,我不知道认为码头能够支持它。
我想唯一的选择是从他们的1开始你的形象的再装/ 2个其他运行中的所有步骤:
FROM imageA
RUN .... commands for imageV
RUN .... commands for imageX
他们都有相同的父母形象吗?如果不是,那么你所要求的是不可能的 – alkis
有时是的,(父之前的层)和没有 –
我已经发布了一个答案,但正如你所理解的,你不能合并依赖于不同操作系统或不同版本相同的OS – alkis