获取类型“的无效装载配置”;绑定";:docker中不存在绑定源路径

获取类型“的无效装载配置”;绑定";:docker中不存在绑定源路径,docker,docker-compose,docker-swarm,docker-stack,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 我确实在d

我正在尝试将以下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
我确实在docker compose所在的相同位置有数据\u jenkins,并将该路径作为卷传递。但为什么它抛出的源路径不存在。到底是什么问题

另外,如果目录不存在,那么-v应该正确创建它。 为什么不是呢


这清楚地记录在

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


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

这就是我发现的问题。路径可能在一个集群中可用,但在另一个集群中不可用。在管理器节点中运行可以正常工作。但是为什么-v不为它正在运行的节点创建一个目录呢?这绝对是为了解决我使用命名容器而不是传递主机路径的问题。谢谢,我也不知道。认可的answer@TaraPrasadGurung你能描述一下你是如何解决这个问题的吗?