假如说在一个三节点的集群上执行
docker service create --replicas 2 -p 80:80 --name nginx nginx:1.13.7-alpine
然后访问三个节点的任意一个ip都会看到nginx的欢迎界面。nginx的默认index.html路径在/usr/share/nginx/html/index.html
假如说现在要进行文件挂载,也就是文件路径映射。注意几个问题:
- docker service create 里面的文件映射用的命令是 --mount 而不是 -v什么的
- 如果源路径是绝对路径要加type=bind
- 还有一个地方要清楚,集群里面有三台服务器,那么映射到的路径是当前某个节点机器上的路径,意思就是manager节点会选择某些work节点跑某些容器,而那个容器映射的路径会对应到当前的那个node的本地路径上。具体看下面结果:
执行:
docker service create --replicas 2 -p 80:80 --name nginx --mount type=bind,src=/tmp/index.html,dst=