栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用docker compose v3在容器中直接挂载NFS共享/卷

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用docker compose v3在容器中直接挂载NFS共享/卷

在发现大量未记录的文件之后,这是使用堆栈和docker compose挂载NFS卷的正确方法。

最重要的是,您需要使用

version: "3.2"
或更高。如果没有的话,将会有奇怪而又不明显的错误。

第二个问题是,卷的定义更改时 不会 自动更新。当您所做的更改尚未应用时,这会使您陷入困境,认为更改是不正确的。确保您

docker rmVOLUMENAME
可能在任何地方都可以使用,就像该卷存在一样,它不会被验证。

第三个问题更多是NFS问题- 如果不存在,则不会在服务器 上创建 NFS文件夹。这就是NFS的工作方式。在执行任何操作之前,您需要确保它存在。

(除非确定您知道自己在做什么,否则不要删除’soft’和’nolock’-如果NFS服务器消失,这将使docker停止冻结)

这是一个完整的示例:

[root@docker docker-mirror]# cat nfs-compose.ymlversion: "3.2"services:  rsyslog:    image: jumanjiman/rsyslog    ports:      - "514:514"      - "514:514/udp"    volumes:      - type: volume        source: example        target: /nfs        volume:          nocopy: truevolumes:  example:    driver_opts:      type: "nfs"      o: "addr=10.40.0.199,nolock,soft,rw"      device: ":/docker/example"[root@docker docker-mirror]# docker stack deploy --with-registry-auth -c nfs-compose.yml rsyslogCreating network rsyslog_defaultCreating service rsyslog_rsyslog[root@docker docker-mirror]# docker stack ps rsyslogID       NAME     IMAGE NODE     DESIRED STATE       CURRENT STATE          ERROR    PORTStb1dod43fe4c        rsyslog_rsyslog.1   jumanjiman/rsyslog:latest   swarm-4  Running  Starting less than a second ago[root@docker docker-mirror]#

现在,在swarm-4上:

root@swarm-4:~# docker psConTAINER ID        IMAGE COMMAND       CREATED  STATUS   PORTS    NAMESd883e0f14d3f        jumanjiman/rsyslog:latest   "rsyslogd -n -f /e..."   6 seconds ago       Up 5 seconds        514/tcp, 514/udp    rsyslog_rsyslog.1.tb1dod43fe4cy3j5vzsy7pgv5root@swarm-4:~# docker exec -it d883e0f14d3f df -h /nfsFilesystem     Size      Used Available Use% Mounted on:/docker/example          7.2T      5.5T      1.7T  77% /nfsroot@swarm-4:~#

将在运行堆栈的任何群集节点上创建( 但不会销毁 )该卷。

root@swarm-4:~# docker volume inspect rsyslog_example[    {        "CreatedAt": "2017-09-29T13:53:59+10:00",        "Driver": "local",        "Labels": { "com.docker.stack.namespace": "rsyslog"        },        "Mountpoint": "/var/lib/docker/volumes/rsyslog_example/_data",        "Name": "rsyslog_example",        "Options": { "device": ":/docker/example", "o": "addr=10.40.0.199,nolock,soft,rw", "type": "nfs"        },        "Scope": "local"    }]root@swarm-4:~#


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381599.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号