这个问题表面上似乎有一个简单的答案“卷”,虽然我相信它可能比这更复杂。
我们有三个服务,每个服务都可以有多个容器在单个或多个主机上运行。
容器A是我们的API容器
容器B是我们的队列容器
容器C是我们的任务计划(cron)容器。
所有这些容器都运行在相同的git-repo /源代码(PHP)上。唯一的区别是在容器中运行的进程:
容器A正在运行php-fpm
容器B正在运行一个队列监视守护进程(手工队列)
容器C正在运行执行任何cron任务的crontab
目前,我们在dockerfile中为每个“服务”下载git并启动相关进程。不过,最好有一个“数据”容器,以某种方式为所有上述提到的容器提供代码服务。
我们如何为其他容器创建一个充当“代码存储库”的容器?将源文件从其文件系统安装到其他“服务”容器的文件系统中?
发布于 2016-07-31 04:12:46
这样做的首选方法是使用指定的卷:
version: '2'
volumes:
data:
driver: local
services:
service-1:
build: .
image: my-service:latest
volumes:
- data:/data
service-2:
image: my-service:latest
volumes:
- data:/data要使用数据容器,您需要在该容器上有卷,然后在其他容器中挂载那些卷:
version: '2'
services:
data:
build: .
image: my-service:latest
command: /bin/true
volumes:
- /data
service-1:
image: my-service:latest
volumes-from:
- data
service-2:
image: my-service:latest
volumes-from:
- datahttps://serverfault.com/questions/797296
复制相似问题