모든 도커 컨테이너 종료

모든 도커 컨테이너 종료

service docker stop방금 Ubuntu 18.04에서 실행 중인 모든 컨테이너를 종료하지 않는다는 것을 발견했습니다 . 더 이상 제어할 수 없지만 containerd-ship컨테이너 내부의 프로세스와 모든 것이 여전히 실행 중입니다(그러나 네트워크가 제거되었기 때문에 연결할 수는 없습니다).

또한 컨테이너를 중지해도 설계상 컨테이너가 중지되지 않으므로 아무것도 변경되지 않습니다.

그리고 그 이후에도 killall containerd-shim이미 상당히 가혹한 상황이지만 gunicorngitlab, backuppc 및 Linux UML 인스턴스 와 같은 일부 프로세스는 여전히 실행 중입니다.

실행 중인 모든 컨테이너를 완전히 종료하려면 어떻게 해야 하나요? 현재 동작으로 인해 시스템을 종료하는 동안 시스템이 정지됩니다.

업데이트: 방금 repo(https://download.docker.com/linux/ubuntu) 이는 Kubernetes 튜토리얼(아직 사용하지 않음)에서 가져온 것입니다. 이 소스는 Containerd.io, docker-ce 및 docker-ce-cli의 독점 버전을 제공합니다.

답변1

문제 해결됨.

주요 요점은 docker에서 직접 추가 저장소를 가지고 있다는 것입니다(https://download.docker.com/linux/ubuntu)는 Containerd.io, docker-ce 및 docker-ce-cli의 독점 버전을 가져왔습니다. 반면 우분투 세계는 내 /etc/apt/source.list.

이제 20.04로 업데이트하고 우분투 유니버스의 원래 도커 패키지(docker.io)를 사용합니다. 이것은 잘 작동하고 예상대로 종료됩니다. 나는 이것이 18.04에서도 작동했을 것이라고 확신하지만 저장소를 전환하여 도커를 다운그레이드하는 것을 피하고 싶었습니다.

답변2

Ubuntu 18.04 설치에서는 systemctl stop docker실행 중인 모든 컨테이너가 종료됩니다. systemctl start docker모든 컨테이너를 다시 시작합니다. BMitch의 의견에 동의합니다. 문제를 진단하려면 설치에 대한 추가 정보가 필요합니다.

실행 중인 모든 컨테이너를 종료하는 또 다른 방법은 다음과 같습니다.

docker ps -q | xargs docker stop

관련 정보