Docker swarm 不保存卷

Docker swarm doesnt save volumes

我有以下 docker-compose

   version: "3.7"
   sonarqube:
        image: sonarqube:8.2-community
        depends_on:
          - db
        ports:
          - '9000:9000'
        environment:
          SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
          SONAR_JDBC_USERNAME: sonar
          SONAR_JDBC_PASSWORD: sonar
          SONAR_WEB_PORT: 9000
          SONAR_EXCLUSIONS: java
        volumes:
          - sonarqube_data:/opt/sonarqube/data
          - sonarqube_extensions:/opt/sonarqube/extensions
          - sonarqube_logs:/opt/sonarqube/logs
          - sonarqube_temp:/opt/sonarqube/temp
    db:
        image: postgres
        environment:
          POSTGRES_USER: sonar
          POSTGRES_PASSWORD: sonar
        volumes:
          - postgresql:/var/lib/postgresql
          # This needs explicit mapping due to https://github.com/docker-library/postgres/blob/4e48e3228a30763913ece952c611e5e9b95c8759/Dockerfile.template#L52
          - postgresql_data:/var/lib/postgresql/data
    volumes:
      sonarqube_data:
      sonarqube_extensions:
      sonarqube_logs:
      sonarqube_temp:
      postgresql:
      postgresql_data:

当我执行以下命令时:docker-compose up 然后在sonarqube中制作一个项目,然后继续做docker-compose down, 然后 docker-再次合成。这一切都节省了。

然而,当我尝试使用以下命令创建群时,它不会保存。

docker 集群初始化

docker stack deploy -c docker-compose.yml test-stack

然后全部记下来:docker swarm leave -f

如何解决这个问题?

命令:docker swarm leave -fdocker swarm init 相反,而不是 docker stack deploy。 尝试:docker stack rm test-stack 通过使用:docker swarm leave -f,您关闭了 Swarm 模式,这可以解释为什么卷被销毁。