我有一个docker-compose,其中有2个服务:
以及定义的音量。来自第一个和第二个容器的/ static目录映射到该卷。像这样:
- static_build:/static/
因此第一个映像Dockerfile大致如下所示:
FROM node
COPY src /app
RUN yarn build
CMD mv build /static
如果我在最后一行中使用CMD
,则效果很好。在docker-compose up
期间,docker执行mv build /static
,并且build
出现在nginx容器中。
但是,如果我使用RUN mv build /static
和docker-compose up
共享目录中的文件,则不会更改。即使我添加了一些基本的CMD
(例如CMD echo foo
)以确保创建并执行了该容器,共享目录也没有更改。
我知道,该图像是基础层文件系统更改的集合,但是当有多个容器要启动并且它们在容器之间共享的目录内容不同时,docker如何管理情况?