【问题标题】:Docker-compose failing to mount multiple named volumesDocker-compose 无法挂载多个命名卷
【发布时间】:2018-03-29 21:17:18
【问题描述】:

我在这里使用 docker-compose 构建我的 jenkins 容器,但无法将 2 个命名卷安装到 1 个容器上。这是我所拥有的:

docker-compose.yml:

version: '2'
networks:
  nw:
    driver: bridge

volumes:
  jenkins-ansible:
  jenkins-data:

services:
  jenkins:
    image: jenkins
    ports:
      - "801:8080"
    volumes:
      - jenkins-ansible:/var/lib/ansible
      - jenkins-data:/var/jenkins_home
    networks:
      - nw

我运行 docker-compose up -d 并且容器启动正常,但是当我 BASH 进入容器时,df -h 只显示一个挂载,/var/jenkins_home。

如果我注释掉 -jenkins-data:/var/jenkins_home 行,它会挂载 ansible 卷。

那么为什么它只挂载一个卷呢?我找不到任何提及只允许每个容器挂载一个卷,但它看起来就是这样。

jenkins-data 挂载有什么特别之处,它优先于 jenkins-ansible 挂载? (我尝试过交换 2 条安装线,没有变化)

提前致谢,

吉姆

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    卷已正确安装,但使用 df -h 时未显示。

    如果您真的想查看所有挂载,您可以在容器内执行cat /proc/mounts,它们会显示:

    /dev/sdb /var/jenkins_home ext4 rw,nosuid,nodev,relatime,data=ordered 0 0
    /dev/sdb /var/lib/ansible ext4 rw,nosuid,nodev,relatime,data=ordered 0 0
    

    您也可以docker inspect CONTAINER_NAME 并查看坐骑,您应该会看到如下内容:

        "Mounts": [
            {
                "Type": "volume",
                "Name": "tst1_jenkins-ansible",
                "Source": "/data/docker-data/volumes/tst1_jenkins-ansible/_data",
                "Destination": "/var/lib/ansible",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "tst1_jenkins-data",
                "Source": "/data/docker-data/volumes/tst1_jenkins-data/_data",
                "Destination": "/var/jenkins_home",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
    

    【讨论】:

    • 行得通!那么为什么它没有出现在 df -h 下呢?谢谢康斯坦丁
    • @JimReesPotter df always consolidates mounts that it considers the same,见:unix.stackexchange.com/a/195407/156681
    猜你喜欢
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    相关资源
    最近更新 更多