需要在所有node节点的主机上安装nfs客户端,否则容器启动后会hang住!!
yum -y install rpcbind nfs-utils
创建volume 连接nfs服务器:
docker volume create --driver local --opt type=nfs --opt o=addr=192.168.0.100,rw --opt device=:/data --name foo
注意:该命令要在所有节点上执行,至少现在的版本是这样:swarm创建服务的时候虽然可以在worker节点上创建需要的volume,但是其中的option参数无法同步过去,结果只是创建了一个普通的volume!
可以使用volume inspect 命令查看:
#docker volume inspect foo
[
{
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/foo/_data",
"Name": "foo",
"Options": {
"device": ":/data",
"o": "addr=192.168.0.100,rw",
"type": "nfs"
},
"Scope": "local"
}
]
最后创建容器:
#docker service create --replicas 2 --mount src=foo,dst=/vdata --name myservice centos/cetnos6 sleep 1000
查看:
#docker service ls
#docker service ps myservice
#docker ps
#docker exec -it myservice.1.xxxxx /bin/bash