도커 컨테이너를 중지하거나 다시 시작할 수 없습니다.
도커 컨테이너를 중지하거나 재시작하려고 하면 다음 오류 메시지가 나타납니다.
$ docker restart 5ba0a86f36ea
Error response from daemon: Cannot restart container 5ba0a86f36ea: [2] Container does not exist: container destroyed
Error: failed to restart containers: [5ba0a86f36ea]
하지만 달리다 보면
$ docker logs -f 5ba0a86f36ea
로그를 볼 수 있으니 분명히 컨테이너가 존재합니다.무슨 생각 있어요?
편집:
미안해요, 제가 이 얘기를 하는 걸 깜빡했네요.
내가 뛸때docker ps -a
컨테이너가 가동되고 있는 것으로 보입니다.하지만 그 안에 있는 애플리케이션이 작동하지 않아서 다시 시작하거나, 아니면 해당 애플리케이션의 새 버전을 온라인으로 받고 싶습니다.그러나 컨테이너를 중지하고 제거할 수 없을 때, 동일한 포트를 수신하는 새로운 응용프로그램을 실행할 수 없습니다.
찾을 수가 없었습니다.boot2docker
내 기계 안에.그래서 제게 맞는 것을 생각해 냈습니다.
$ sudo systemctl restart docker.socket docker.service
$ docker rm -f <container id>
당신에게도 도움이 되는지 확인해 보세요.
모든 도커:start | restart | stop | rm --force | kill
컨테이너가 고착된 경우 명령이 작동하지 않을 수 있습니다.도커 데몬을 언제든지 재시작할 수 있습니다.그러나 다른 컨테이너가 실행 중인 경우에는 해당 옵션이 아닐 수도 있습니다.할 수 있는 일은 다음과 같습니다.
ps aux | grep <<container id>> | awk '{print $1 $2}'
출력 내용은 다음과 같습니다.
<<user>><<process id>>
그런 다음 용기와 관련된 프로세스를 다음과 같이 죽입니다.
sudo kill -9 <<process id from above command>>
그러면 컨테이너가 소멸되고 올바른 이미지로 새 컨테이너를 시작할 수 있습니다.
도커 1.6 또는 1.7에서 볼 수 있는 도커/도커/이슈/12738처럼 보입니다.
일부 컨테이너가 제대로 중지되지 않고 다시 시작됩니다.
사용자 호스트에서 1.5.0에서 1.6.0으로 업그레이드할 때 이러한 문제가 자주 발생합니다.
업그레이드 후 일부 컨테이너를 중지할 수 없습니다(제공).500 Server Error: Internal Server Error ("Cannot stop container xxxxx: [2] Container does not exist: container destroyed"
( ) 또는 강제 파괴(증여)500 Server Error: Internal Server Error ("Could not kill running container, cannot remove - [2] Container does not exist: container destroyed"
)). 호스트에서 프로세스가 계속 실행되고 있습니다.
때로는 도커 데몬을 다시 시작한 후에 작동하기도 합니다.
다음과 같은 해결 방법이 있습니다.
그 죽일 수 없는 컨테이너에 대한 모든 원격 API 호출을 시도해 보았는데 결과는 다음과 같습니다.
json
,stats
,changes
,top
,logs
반환된 유효한 응답stop
,pause
,wait
,kill
신고된 404(!)리모트 API 완료 후 다시 확인하였습니다.
docker ps
(컨테이너는 여전히 그곳에 있었습니다) 하지만 도커킬을 다시 시도했는데 효과가 있었습니다!컨테이너가 죽어서 제거할 수 있었습니다.
또는:
작동한 것은 다시 시작하는 것이었습니다.
boot2docker
내 주인에게.그리고나서docker rm -f
$ boot2docker stop
$ boot2docker start
$ docker rm -f 1f061139ba04
알만한 가치:
ENTERPOINT 스크립트를 실행하는 경우...대본은 쉐뱅과 함께 작동할 것입니다.
#!/bin/bash -x
하지만 용기가 다음과 같이 멈추는 것을 막을 것입니다.
#!/bin/bash -xe
즐거운 시간 되세요.
sudo aa-remove-unknown
이것이 저에게 효과가 있었던 것입니다.
Mac에서 Docker Desktop이 설치된 모든 사용자에게 적합합니다.트레이 아이콘을 클릭해서 이렇게 말할 수 있었습니다.Restart Docker
. 다시 시작하자 컨테이너를 삭제할 수 있었습니다.
"top" 명령을 사용하여 좀비 프로세스가 있는지 확인합니다.
docker ps | grep <<container name>>
컨테이너 ID를 가져옵니다.
ps -ef | grep <<container id>>
ps -ef|grep defunct | grep java
그리고 부모 PID에 의해 컨테이너를 죽입니다.
Mac에서 Terminal: Usekillall Docker
도커를 그만두는 겁니다
응용프로그램 폴더에서 또는 다음을 사용하여 다시 시작open /Applications/Docker.app
.
그 다음에 실행할 수 있습니다.docker rm <id>
해당 컨테이너에 대해
윈도우 호스트 머신에서도 같은 문제가 발생했는데 여기 있는 다른 옵션들은 하나도 제게 효과가 없었습니다.여기에 있는 물리적 컨테이너 폴더를 삭제해야 했습니다.
C:\ProgramData\Docker\containers\[container guid]
저는 안전을 위해 도커 서비스를 먼저 중단했고, 다시 시작해보니 고장난 컨테이너가 사라지고 새로운 컨테이너를 만들 수 있었습니다.리눅스 호스트 머신에서도 동일하게 작동할 것이라 생각하지만, 해당 OS에서 컨테이너 폴더가 어디에 보관되어 있는지 모르겠습니다.
Ubuntu 시스템 프로세스 ID를 사용하여 컨테이너를 중지합니다.다음을 사용하여 기본 프로세스 ID를 가져옵니다.
도커 검사 -f'{{.상태.Pid}' 컨테이너-id
ID를 '25430'으로 반환합니다.명령으로 이 일을 처치합니다.
sudo kill -925430
제 경우 노매드 작업으로 생성된 컨테이너를 삭제할 수 없습니다. 출력이 없습니다.docker logs <ContainerID>
일반적으로 얼은 것처럼 보입니다.
지금까지 해결책은 다음과 같습니다.sudo service docker restart
, 누가 더 좋은 것을 추천해 주시겠습니까?
저는 제가 컨테이너를 시스템 서비스로 시작하게 했다는 것을 잊었습니다.
만약 내가 그 컨테이너를 멈추거나 죽였다면, 서비스는 그것을 다시 가져올 겁니다.
systemctl을 사용하는 경우 실행 중인 모든 서비스를 다음과 같이 나열할 수 있습니다.systemctl | grep running
서비스 이름을 찾습니다.
그럼 쓰시오sudo systemctl disable <your_service_name>
그것을 멈추기 위해서 입니다.
Ubuntu를 사용하는 경우 도커 컴포지트가 스냅으로 설치되지 않았는지 확인합니다.이로 인해 위와 같은 모든 종류의 무작위 문제가 발생합니다.
스냅을 제거합니다.
sudo snap remove docker-compose
구성 저장소에서 수동으로 설치합니다.
때때로 이는 도커 데몬의 문제로 인해 발생합니다.도커 서비스를 다시 시작해서 문제를 해결했습니다.리눅스의 경우:
systemctl restart docker
저 같은 경우에는.docker rm $(docker ps -aq)
저한테는 통합니다.
언급URL : https://stackoverflow.com/questions/31365827/cannot-stop-or-restart-a-docker-container
'programing' 카테고리의 다른 글
git stash branch-specific인가요, 아니면 전체 저장소를 대상으로 하나요? (0) | 2023.11.05 |
---|---|
이 "SQL 문 무시됨" 오류를 수정하려면 어떻게 해야 합니까? (0) | 2023.11.05 |
하나의 열에 고유(여러 열) 및 null (0) | 2023.11.05 |
앱이 설치되지 않은 것처럼 보여도 [INSTALL_FAILED_UPDATE_INCOMPATIC] 실패 (0) | 2023.11.05 |
MySQL 5.0의 int와 integer의 차이점은 무엇입니까? (0) | 2023.11.05 |