【问题标题】:create a Docker Swarm v1.12.3 service and mount a NFS volume创建 Docker Swarm v1.12.3 服务并挂载 NFS 卷
【发布时间】:2017-03-25 11:50:28
【问题描述】:

我无法为 Docker Swarm 安装 NFS 卷,而且缺乏有关 --mount 语法 (https://docs.docker.com/engine/reference/commandline/service_create/) 的适当官方文档也无济于事。

我基本上已经尝试过这个命令行来创建一个简单的 nginx 服务,其中 /kkk 目录安装到 NFS 卷:

docker service create --mount type=volume,src=vol_name,volume-driver=local,dst=/kkk,volume-opt=type=nfs,volume-opt=device=192.168.1.1:/your/nfs /path --name 测试 nginx

命令行被接受并且服务被 Swarm 调度,但是容器永远不会达到“运行”状态并且 swarm 每隔几秒就会尝试启动一个新实例。我将守护进程设置为调试,但关于音量显示没有错误...

使用 NFS 卷创建服务的正确语法是什么?

非常感谢

【问题讨论】:

    标签: nfs docker-swarm


    【解决方案1】:

    我在这里找到了一篇文章,展示了如何挂载 nfs 共享(这对我有用):http://collabnix.com/docker-1-12-swarm-mode-persistent-storage-using-nfs/

    sudo docker service create \
    --mount type=volume,volume-opt=o=addr=192.168.x.x,volume-opt=device=:/data/nfs,volume-opt=type=nfs,source=vol_collab,target=/mount \
    --replicas 3 --name testnfs \
    alpine /bin/sh -c "while true; do echo 'OK'; sleep 2; done"
    

    更新:
    如果您想将它与 docker-compose 一起使用,您可以执行以下操作:

    version: '3'
    
    services:
    
      alpine:
        image: alpine
        volumes:
          - vol_collab:/mount
        deploy:
          mode: replicated
          replicas: 2
        command: /bin/sh -c "while true; do echo 'OK'; sleep 2; done"
    
    
    volumes:
      vol_collab:
        driver: local
        driver_opts:
          type: nfs
          o: addr=192.168.xx.xx
          device: ":/data/nfs"
    

    然后运行它

    docker stack deploy -c docker-compose.yml test
    

    【讨论】:

      【解决方案2】:

      你也可以在 docker compose 中创建 nfs 卷

        data:
          driver: local
          driver_opts:
            type: "nfs"
            o: addr=<nfs-Host-domain-name>,rw,sync,nfsvers=4.1
            device: ":<path to directory in nfs server>"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-09
        • 1970-01-01
        • 2021-10-03
        • 1970-01-01
        • 2018-08-12
        相关资源
        最近更新 更多