Jim*_*ter 5 docker docker-compose
我正在使用 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
Run Code Online (Sandbox Code Playgroud)
我运行docker-compose up -d并且容器启动正常,但是当我 BASH 进入容器时,df -h只显示一个挂载,/var/jenkins_home。
如果我注释掉该-jenkins-data:/var/jenkins_home行,它将安装 ansible 卷。
那么为什么它只挂载一个卷呢?我找不到任何关于只允许为每个容器安装一个卷的内容,但这就是它的外观。
jenkins-data 挂载有什么特别之处,以至于它优先于 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
Run Code Online (Sandbox Code Playgroud)
您还可以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": ""
}
],
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8093 次 |
| 最近记录: |