获取类型为"bind"的无效mount配置:docker中不存在绑定源路径

Tar*_*ung 6 docker docker-compose docker-swarm docker-stack

我正在尝试将以下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
Run Code Online (Sandbox Code Playgroud)

我确实在docker -compose所在的相同位置有data_jenkins,并将该路径作为卷传递.但为什么抛出源路径不存在.究竟是什么问题.

此外,如果目录不存在-v应该创建它正确.为什么不呢?

yam*_*enk 14

Docker Swarm BIND MOUNTS中清楚地记录了这一点

如果将主机路径绑定到服务的容器中,则路径必须存在于每个群集节点上.Docker swarm模式调度程序可以在满足资源可用性要求的任何计算机上调度容器,并满足您指定的所有约束和放置首选项.

与运行单个容器不同,如果不退出,则不会创建绑定装载主机目录.它必须在群集节点上运行容器之前存在.

  • @TaraPrasadGurung 你能描述一下你做了什么来解决这个问题吗? (10认同)