如何将多个图像合并为一个?

时间:2016-04-22 19:04:00

标签: docker dockerfile

我有几个图像(第三方),例如设置一个mysql,设置一个通用的php应用程序环境,设置第三方工具。

我想创建一个Dockerfile / Docker Image,它将这些图像组合在一起然后再运行一些命令

imageA --
            \
imageV --    ---> sharedImageA..X
            /
imageX --

2 个答案:

答案 0 :(得分:2)

你可以链接它们。你可以在这里找到更多

https://github.com/docker/docker/issues/3378#issuecomment-31314906

取自以上链接

## 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 .

以上 SvenDowideit

的作者

一般而言,在同一容器上运行多个进程是不好的做法。

答案 1 :(得分:1)

由于来自秒和第三张图像的依赖关系可能与第一张图片的依赖关系发生冲突,我不认为docker能够支持它。

我想唯一的选择是从其中一个开始你的图像,然后从另外两个安装/运行所有步骤:

FROM imageA
RUN .... commands for imageV
RUN .... commands for imageX