获取无效的 "bind "类型的挂载配置:docker中不存在bind源路径。

问题描述 投票:10回答:1

我正试图将以下docker-compose部署到docker swarm集群中。

version: '3.2'
services:
  jenkins:
    image: jenkins/jenkins:lts
    ports:
      - 8080:8080
    volumes:
      - ./data_jenkins:/var/jenkins_home
    deploy:
      mode: replicated
      replicas: 1

我确实有 数据_jenkins 在docker-compose所在的相同位置,并将该路径作为volume传递。但为什么会抛出源路径不存在。到底是什么问题。

此外,如果该目录不存在-v应该创建它的权利。 为什么不是呢?

docker docker-compose docker-swarm docker-stack
1个回答
18
投票

这在 Docker Swarm BIND MOUNTS

如果你将主机路径绑定挂载到你的服务容器中。该路径必须存在于每一个蜂群节点上。. Docker群模式调度器可以在任何满足资源可用性要求的机器上调度容器,并满足您指定的所有约束和放置偏好。

与运行单个容器不同的是,bind-mount 主机 如果不退出,则不会创建目录。它必须在集群节点上运行容器之前存在。

© www.soinside.com 2019 - 2024. All rights reserved.