docker1.12+ swarm中 volume的nfs配置

需要在所有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

你可能感兴趣的:(docker)