Docker Compose启动数据卷容器为什么只能启动最后那一个
我的docker-compose.yml如下:
dvc:
image: debian:wheezy
volumes:
- /www:/usr/share/nginx/html:ro
nginx:
image: nginx:latest
volumes_from:
- dvc
ports:
- "80"
然后使用下列命令启动:
docker-compose scale dvc=3 nginx=4
启动结果如附件1的图,有几个问题想请教一下:
1.为什么nginx那个server可以启动4个container,而dvc那个只能是最后一个,执行过程中显示的如附件2所示 ?
2.如何设置nginx的参数,可以使主机的80端口映射到container的任意端口?
3.目前这样的构建方式不知道是不是合理的,即我把两个服务写到了一个yml中,因为根据官方文档,external_links这个参数常用在数据共享中,也就是用一个docker-compose.yml来启动一个数据卷容器,另一个docker-compose.yml启动Nginx服务,然后设置external_links的参数来使用数据卷容器,这两者哪个更好点呢?
4 个回复
hesonglin - 文艺理科生
赞同来自: DockOne
自己来回复一下:默认情况下,镜像
debian:wheezy
如果没有默认的服务在运行的话就会退出,所以要改变一下默认的命令,docker-compose.yml为:dvc:
image: debian:wheezy
volumes:
- /www:/usr/share/nginx/html:ro
command: bash -c "while true; do echo "hello"; sleep 2; done;"
此时的输出为附件1和2所示。
这个问题我提到了github/docker上,链接为: https://github.com/docker/comp ... 73238
hesonglin - 文艺理科生
赞同来自: DockOne
对于我的第二个问题的答案,我就不翻译了,链接为:https://github.com/docker/compose/issues/1307
xds2000 - 数人科技CTO
赞同来自:
这样的问题,你应该去docker/compose提交issue
hesonglin - 文艺理科生
赞同来自:
ok,thx