首页 > 解决方案 > 如何使用 docker swarm 在 docker-compose 中配置卷路径

问题描述

我将 docker compose 配置为创建默认卷,但现在我需要自定义卷的本地路径,我尝试通过绑定和通过设备选项指定路径来执行一些 driver_opts,但在这种情况下,容器中的 swarm throw 错误“无法挂载 ... 目录不存在'。那么如何配置卷的本地路径?

这是我的码头工人撰写

version: '3'

services:
    xxx:
       image: image-xxx
       deploy:
           mode: replicated
           replicas: 2
       volumes:
         - xxxvolume:/usr/src/xxx/yyy/

volumes:
  xxxvolume:
    driver: 'local'

音量信息是

[
    {
        "CreatedAt": "2019-11-24T19:05:03+01:00",
        "Driver": "local",
        "Labels": {
            "com.docker.stack.namespace": "XX"
        },
        "Mountpoint": "/var/lib/docker/volumes/xxx/_data",
        "Name": "XX_xxvolume",
        "Options": null,
        "Scope": "local"
    }
]

标签: docker-composedocker-swarm

解决方案


码头工人-compose.yml

version: '3.7'

services:
  jira:
    image: atlassian/jira-software
    volumes:
      - ./volumes/jira_vol:/var/atlassian/application-data/jira
    ports:
      - 8080:8080

volumes:
  jira_vol:
    external: false

并运行此命令;

docker-compose up -d

最后在同一路径中添加卷目录!


推荐阅读