docker-compose down default_network 错误

新手上路,请多包涵

我有一个带有一些 php、mysql 等启动的 docker-compose。几天后,我无法将它们关闭,因为一切都停止了,而不是 mysql。它总是给我以下错误:

 ERROR: network docker_default has active endpoints

这是我的 docker-compose.yml

 version: '2'
services:
  php:
    build: php-docker/.
    container_name: php
    ports:
      - "9000:9000"
    volumes:
      - /var/www/:/var/www/
    links:
      - mysql:mysql
    restart: always

  nginx:
    build: nginx-docker/.
    container_name: nginx
    links:
      - php
      - mysql:mysql
    environment:
      WORDPRESS_DB_HOST: mysql:3306
    ports:
      - "80:80"

    volumes:
      - /var/log/nginx:/var/log/nginx
      - /var/www/:/var/www/
      - /var/logs/nginx:/var/logs/nginx
      - /var/config/nginx/certs:/etc/nginx/certs
      - /var/config/nginx/sites-enabled:/etc/nginx/sites-available
    restart: always

  mysql:
    build: mysql-docker/.
    container_name: mysql
    volumes:
      - /var/mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: pw
      MYSQL_USER: florian
      MYSQL_PASSWORD: pw
      MYSQL_DATABASE: database
    restart: always

  phpmyadmin:
    build: phpmyadmin/.
    links:
     - mysql:db
    ports:
     - 1234:80
    container_name: phpmyadmin
    environment:
     PMA_ARBITRARY: 1
     PMA_USERNAME: florian
     PMA_PASSWORD: pw
     MYSQL_ROOT_PASSWORD: pw
    restart: always

docker network inspect docker_default 给我:

 [
    {
        "Name": "docker_default",
        "Id": "1ed93da1a82efdab065e3a833067615e2d8b76336968a2591584af5874f07622",
        "Created": "2017-03-08T07:21:34.969179141Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "85985605f1c0c20e5ee9fedc95800327f782beafc0049f51e645146d2e954b7d": {
                "Name": "mysql",
                "EndpointID": "84fb19cd428f8b0ba764b396362727d9809cd1cfea536e648bfc4752c5cb6b27",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

更新

似乎 docker rm mysql -f 停止了mysql容器,但网络正在运行。

docker network disconnect -f docker_default mysql 删除了网络,但我对我是如何陷入这种情况很感兴趣的。有任何想法吗?

原文由 Florian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 936
2 个回答

我猜您在当前运行时编辑了 docker-compose 文件…?

有时,如果您在执行 docker-compose down 之前编辑 docker-compose 文件,那么 docker-compose 将尝试停止的内容会不匹配。首先运行 docker rm 8598560 停止当前运行的容器。从那里,确保在编辑文件之前执行 docker-compose down 。停止容器后, docker-compose up 应该可以工作。

原文由 nateleavitt 发布,翻译遵循 CC BY-SA 3.0 许可协议

当我在停止容器之前通过 docker-compose.yml 文件重命名服务后添加此问题时,我解决了类似的问题

docker-compose down --remove-orphans

原文由 Alex K 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题