繁体   English   中英

Docker-compose无法挂载多个命名卷

[英]Docker-compose failing to mount multiple named volumes

我在这里使用docker-compose来构建我的jenkins容器,我无法将它安装到1个容器上。 这是我有的:

泊坞窗,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只显示一个mount,/ var / jenkins_home。

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

那为什么它只挂载一个卷? 我找不到任何提及只允许每个容器装载一个卷,但这就是它的外观。

jenkins-data mount有什么特别之处,它优先安装在jenkins-ansible坐骑上? (我已经尝试将2条安装线交换,没有变化)

提前致谢,

吉姆

卷已正确安装,但它们不会使用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,您应该看到如下内容:

    "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": ""
        }
    ],

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM