programing

도커-다운로드 default_network 오류

stoneblock 2023. 8. 22. 21:48

도커-다운로드 default_network 오류

나는 pphp, mysql 등이 시작되는 도커 컴포지션을 가지고 있습니다.며칠 후에는 mysql 대신 모든 것이 멈추기 때문에 다운시킬 수 없습니다.항상 다음과 같은 오류가 발생합니다.

ERROR: network docker_default has active endpoints

이것은 나의 도커-디젤.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컨테이너가 되고 있습니다.

했습니다.docker network disconnect -f docker_default mysql하지만 저는 제가 어떻게 이런 상황에 처하게 되었는지에 꽤 관심이 있습니다.무슨 생각이 있습니까?

컨테이너를 중지하기 전에 docker-compose.yml 파일로 서비스 이름을 변경한 후 이 문제를 추가했을 때 유사한 문제를 해결했습니다.

docker-compose down --remove-orphans

현재 실행 중에 도커 합성 파일을 편집한 것 같습니다...?

을 하기 에 도커 합성 .docker-compose down그러면 도커-스캐너가 멈추려고 하는 것에 불일치가 있을 것입니다. 번째 실행 1 행주차docker rm 8598560현재 실행 중인 컨테이너를 중지합니다.거기서부터, 반드시 당신은.docker-compose down파일을 편집하기 전에. 용기를 일단컨테멈를추면너이,,docker-compose up작동해야 합니다.

네트워크에서 오래된 끝점의 연결을 끊어야 합니다.먼저 엔드포인트 이름을 가져옵니다.

docker network inspect <network>

"JSON"에서 엔드포인트를 수 .Containers -> Name이제 다음을 사용하여 강제로 분리합니다.

docker network disconnect -f <network> <endpoint>

불행하게도 위의 어떤 것도 저에게 도움이 되지 않았습니다.도커 서비스를 다시 시작하여 문제가 해결되었습니다.

이것은 저에게 효과가 있었습니다.systemctl restart docker

이름이 같은 네트워크가 두 개 있어서 이 오류 메시지가 발생했습니다(복사/붙여넣기 오류).

내가 그걸 고치기 위해 한 일:

  • docker-compose down errors(오류를 무시합니다).
  • docker network list합니다.
  • docker network prune모든 매달린 네트워크를 제거하기 위해, 당신은 단지 원할 수도 있습니다.docker network rm <network name>
  • 두 번째 네트워크의 이름을 고유한 이름으로 변경합니다.
  • docker-compose up

, 는 이 , 도를위해완저, 이같문마고쳤주를제은는성▁for▁and,고마,docker compose down --remove-orphans저를 위해 그 문제를 해결했습니다.저는 처음에 무슨 일이 있었는지 궁금했고, 결국 제가 명령을 실행하던 디렉토리에 여러 도커가 YAML 파일을 작성하게 되었습니다.

서비스를 빌드한 작성 파일을 명시적으로 지정하면 정상적으로 작동합니다.

예를 들면

은 두 의 도커 파일이 docker-compose-1.yml그리고.docker-compose-2.yml첫 번째 파일을 사용하여 서비스를 구축합니다.

docker compose -f docker-compose-1.yml up --build -d

실행하는 경우docker compose down그러면 오류가 발생합니다.파일 이름을 지정하는 즉시 예상대로 컨테이너가 종료됩니다.

docker compose -f docker-compose-1.yml down

서비스 도커 다시 시작

그런 다음 네트워크를 정상적으로 제거합니다.

도커 네트워크 rm [네트워크 이름]

동일한 인스턴스에서 예외적인 수십 개의 서비스(병렬)를 실행하는 동안문제가 발생하는 경우는 드물지만, 안타깝게도 도커 컴포지트는 "로 인해 이러한 컨테이너의 배포/재생 작업을 설정할 수 없었습니다.active network interface"그것은 구속되고 고착된 것입니다.

또한 다음과 같은 실행 플래그를 활성화했습니다.

  • force-recreate(컨테이너 구성 및 이미지가 변경되지 않았더라도 컨테이너 다시 만들기) 또는
  • remove-orphansflags(작성 파일에 정의되지 않은 서비스의 컨테이너를 제거합니다.)

하지만 도움이 되지 않았습니다.

결국 저는 도커 엔진을 다시 시작하는 것이 최후의 수단이라는 결론에 도달했습니다. 도커는 도커 데몬과 관련된 모든 네트워크 연결을 닫습니다(컨테이너와 api 간의 연결). 이 조치는 이 문제를 해결했습니다.sudo service docker restart)

언급URL : https://stackoverflow.com/questions/42842277/docker-compose-down-default-network-error