gpt4 book ai didi

nfs - 创建 Docker Swarm v1.12.3 服务并挂载 NFS 卷

转载 作者:行者123 更新时间:2023-12-04 21:08:12 36 4
gpt4 key购买 nike

我无法为 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 共享(这对我有用):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

关于nfs - 创建 Docker Swarm v1.12.3 服务并挂载 NFS 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40544749/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com