도커 컨테이너를 중지하고 제거하는 단일 명령


138

docker stopdocker rm명령을 결합 할 수있는 명령이 있습니까? 실행중인 컨테이너를 삭제할 때마다 2 개의 명령을 순차적으로 실행해야합니다. 결합 된 명령 이이 프로세스를 단순화 할 수 있는지 궁금합니다.

docker stop CONTAINER_ID
docker rm CONTATINER_ID

2
컨테이너에 따라 다릅니다 : ctl.io/developers/blog/post/…
VonC

답변:


237

당신이 사용할 수있는 :

docker rm -f CONTAINER_ID

컨테이너가 여전히 실행 중이라도 컨테이너를 제거합니다.

https://docs.docker.com/engine/reference/commandline/rm/

--rm옵션으로 컨테이너를 실행할 수도 있습니다. 컨테이너는 중지되면 자동으로 제거됩니다.

https://docs.docker.com/engine/reference/run/#clean-up-rm

편집 : (가) rm -f데이터에 대한 위험 할 수 있으며 최적의 테스트 또는 개발 용기에 적합합니다. 이 주제에 대한 @Bernard의 의견은 읽을 가치가 있습니다.


15
조심해. docker rm -f컨테이너에 SIGKILL 신호를 보냅니다. 컨테이너가 상태를 올바르게 저장하는 데 시간이 걸리지 않을 수 있습니다. 비 상태 비 저장 컨테이너의 경우 실제로 docker stop다음에 사용해야 합니다 docker rm. 도커 데몬이 SIGKILL을 보내기 전에 기본적으로 컨테이너에 종료를 수행 할 수 있도록 컨테이너에 최대 10 초의 SIGTERM 신호를 보냅니다.
Bernard

3
수명이 짧은 컨테이너에 가장 적합한 --rm 옵션을 찾습니다.
Prashant Sinha

30
docker stop CONTAINER_ID | xargs docker rm

영리한 아이디어. 다른 명령에도 사용할 수 있기 때문에 두 명령을 반복하거나 변수를 사용하지 않고 두 명령에 인수를 전달하려고합니다.
Lion

16

$_마지막 에코를 제공 하는 단일 명령으로 컨테이너를 중지하고 제거 할 수 있습니다

docker stop CONTAINER && docker rm $_

7

필자의 경우 모든 실행중인 컨테이너를 제거하기 위해

docker rm -f $(docker ps -a -q); docker rmi $(docker images -q)


2

모든 용기를 제거하십시오. docker ps -aq | xargs docker rm -f


권한 거부 오류가 발생했습니다. sudo를 추가했습니다. sudo docker ps -aq | sudo xargs docker rm -f
Hussain K

2

-f를 사용하는 동안 컨테이너 실행을 포함한 모든 이미지를 중지하고 제거합니다.

docker rmi -f $(docker images -a -q)

1

docker ps 명령을 -a 플래그와 함께 사용하여 제거하려는 컨테이너의 이름 또는 ID를 찾으십시오.

docker ps -a

제거하려면 : $ docker rm ID_or_Name ID_or_Name

종료시 컨테이너를 제거하십시오.

컨테이너를 만들 때 한 번 유지하지 않으려는 경우 docker run --rm을 실행하여 컨테이너가 종료되면 자동으로 삭제할 수 있습니다.

실행 및 제거 : docker run --rm image_name

배출 된 모든 용기를 제거하십시오.

docker ps -a를 사용하여 컨테이너를 찾고 생성, 재시작, 실행, 일시 중지 또는 종료 상태로 컨테이너를 필터링 할 수 있습니다. 종료 된 컨테이너 목록을 검토하려면 -f 플래그를 사용하여 상태를 기준으로 필터링하십시오. -q를 사용하여 ID를 docker rm 명령에 전달하기 위해 해당 컨테이너를 제거하려는 것으로 확인되었습니다.

명부:

docker ps -a -f status=exited

docker rm $(docker ps -a -f status=exited -q)

하나 이상의 필터를 사용하여 컨테이너를 제거하십시오 .

필터 플래그를 추가 값으로 반복하여 Docker 필터를 결합 할 수 있습니다. 결과적으로 두 조건 중 하나를 만족하는 컨테이너 목록이 생성됩니다. 예를 들어, 작성 됨 (잘못된 명령으로 컨테이너를 실행할 때 발생할 수있는 상태) 또는 종료 됨으로 표시된 모든 컨테이너를 삭제하려는 경우 두 개의 필터를 사용할 수 있습니다.

docker ps -a -f status=exited -f status=created

모든 컨테이너를 중지하고 제거하십시오.

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

0

단일 용기 제거

docker rm -f CONTAINER_ID

모든 용기를 제거하기 위해

docker rm -f `docker container ps -qa`

0

중지 된 모든 컨테이너를 제거하려면 docker system prune

라이브 컨테이너를 중지하려면 docker stop CONTAINER_ID10 초 동안 기다렸다가docker kill CONTAINER_ID

또는로 docker kill CONTAINER_ID컨테이너를 즉시 중지 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.