모든 도커 컨테이너를 정지시키고 제거합니다.
모든 도커 컨테이너를 중지하고 제거하여 도커 컨테이너로 깨끗한 슬레이트를 만들 수 있는 방법은 무엇입니까?더 경우가 만,다를 가 어떻게 잘 .docker rm
도커 컨테이너가 아직 사용중일 수도 있기 때문에 못쓰게 될 겁니다.
모든 컨테이너 중지
docker stop $(docker ps -a -q)
모든 용기를 제거합니다.
docker rm $(docker ps -a -q)
여기서 자세한 명령 찾기
도커는 모든 사람들이 마침내 배워야 하고 오래된 습관을 고수해서는 안 되는 새로운 이름공간과 명령들을 소개했습니다.여기 설명서가 있고 몇 가지 예가 있습니다.
더 이상 필요 없는 컨테이너 삭제(중지)
docker container prune
더 이상 필요 없는 이미지 삭제
즉, 태그가 지정되지 않고 "latest"가 가리키는 이미지만 삭제하므로 정기적으로 사용할 수 있는 실제 이미지는 삭제되지 않습니다.
docker image prune
기존 컨테이너에서 사용하지 않는 모든 볼륨 삭제
(정지된 컨테이너도 볼륨을 청구합니다.)이것은 보통 오래 전에 삭제된 부피가 아닌 컨테이너를 매달아 놓은 것을 정리합니다.이름이 지정된 볼륨의 컨테이너가 존재하거나 실행 중이어야 하므로 삭제해서는 안 됩니다.이 스택을 사용하기 전에 스택이 최소한 실행되고 있는지 확인해야 합니다.
docker volume prune
사용하지 않는 네트워크에 대해서도 동일
docker network prune
마지막으로 모든 쓰레기를 제거하고 싶다면 모든 스택이 실행되고 있는지 확인한 후 실행해야 합니다.
docker system prune
docker ps -aq | xargs docker stop | xargs docker rm
아니면
docker ps -aq | xargs docker rm -f
모든 용기를 세척하는 하나의 명령줄
docker system prune -f ; docker volume prune -f ;docker rm -f -v $(docker ps -q -a)
하나의 정기선:
docker rm -f $(docker ps -a -q)
중인 합니다를 합니다.-a
.
하나의 라이너로 이를 달성할 수 있습니다(달리는 용기도 제거).
docker container rm $(docker container ls -aq) -f
그것이 하는 일
docker container ls -aq
는 ID합니다를 합니다.
docker container rm $(..) -f
너 ID합니다를(를) 합니다.
제가 이런 종류의 일에 사용하는 좋은 요지는 다음과 같습니다. 사람들이 좋아하지 않는 것처럼 보이는 이 링크에서 (https://gist.github.com/bastman/5b57ddb3c11942094f8d0a97d461b430) ).
볼륨 삭제
$ docker volume rm $(docker volume ls -qf dangling=true)
$ docker volume ls -qf dangling=true | xargs -r docker volume rm
네트워크 삭제
$ docker network ls
$ docker network ls | grep "bridge"
$ docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }')
도커 이미지 제거
// 참조: http://stackoverflow.com/questions/32723111/how-to-remove-old-and-unused-docker-images
$ docker images
$ docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
$ docker images | grep "none"
$ docker rmi $(docker images | grep "none" | awk '/ / { print $3 }')
도커 용기 제거
// 참조: http://stackoverflow.com/questions/32723111/how-to-remove-old-and-unused-docker-images
$ docker ps
$ docker ps -a
$ docker rm $(docker ps -qa --no-trunc --filter "status=exited")
기본적으로 실행 중인 모든 컨테이너를 죽이고, 모든 이미지를 제거하고, 도커를 제거하고, 원하는 버전을 다시 설치하고, 원하는 만큼 깨끗한 슬레이트가 있어야 합니다.
셸이 우려되는 경우 SC2046을 확인합니다(이 경우 명령에 대한 경고가 표시됨).docker stop $(docker ps -a -q)
및 ) Bash4+ 를()를.mapfile
할 수 builtin command),다.
mapfile -t list < <(docker ps -q)
[[ ${#list[@]} -gt 0 ]] && docker container stop "${list[@]}"
그 이유는:
docker ps -q
모든 너 ID합니다를 합니다.mapfile
결과 너 합니다.list
배열하다[[ ${#list[@]} -gt 0 ]]
::list
에는 다음 가 다를 .docker container stop "${list[@]}"
합니다.list
이 있는 (array 됨)
마찬가지로 정지된 모든 용기를 제거하려면:
mapfile -t list < <(docker ps -aq)
[[ ${#list[@]} -gt 0 ]] && docker container rm "${list[@]}"
(docker ps -aq
정지된 컨테이너에서도 모든 컨테이너 ID를 반환합니다.)
할 수 번째 ()).stop
,그리고나서rm
).
하여 를 할 수도 있습니다.rm --force
, 하지만 이게 SIGKILL을 전송할 거란 걸 명심해요, 그러니까 실행하는 겁니다.stop
처음에 그리고 나중에rm
stop
타임아웃이 되지 않는 한 SIGTERM을 전송합니다. 이 경우 SIGKILL)을 전송합니다.
정지 컨테이너:
docker stop container1_id container2_id containerz_id
모든 이미지 삭제:
docker system prune --all
그러면 도커를 실행하면 도커 컨테이너가 여전히 사용 중일 수 있기 때문에 허용되지 않습니다.
는 다음과 입니다,
해 봅니다. 제거 시도
docker rm <container-id>
2. rm이 작동하지 않습니다. 중지를 사용합니다.
docker stop <container-id>
3. 정지가 안 되나요?죽여 버리다
docker kill <container-id>
4. 작업을 중지하지만 컨테이너는 아직 있습니까?정지된 모든 컨테이너를 강제로 제거하기 위해 가지치기를 시도합니다.
docker container prune -f
모든 도커 이미지를 제거하려면:
docker rmi $(docker images -aq)
- 모든 컨테이너 목록을 만들어 텍스트 파일에 저장합니다.
docker ps > containers.txt
- 을 통과합니다
CONTAINER ID
에 대하여docker rm
사람씩
cat containers.txt | tail -n +2 | cut -d ' ' -f 1 | xargs -I{} docker rm {}
.
후자는 컨테이너 ID로 시작하는 모든 컨테이너 항목을 나열합니다.항목은 공백별로 구분되므로,tail -n +2
를 건너뜁니다.cut -d ' ' -f 1
, 모든 줄을 공간별로 분할하고 첫 번째 줄 항목을 사용합니다. 이 항목은 컨테이너 ID와xargs -I{} docker rm {}
특정 ID로 컨테이너를 제거합니다.
참고:
- 의 내용은 에도 됩니다.
udocker
. - 이 명령을 사용하면 모든 이미지를 제거합니다.일부 이미지만 제거하고 싶다면 다음을 사용할 수 있습니다.
grep
스텝, 조금 전에xargs
, 그들 중 일부를 걸러내기 위해서입니다.
우분투에서는 다른 솔루션이 작동하지 않을 때 모든 프로세스를 삭제했습니다.
$ ps aux | grep docker
$ sudo kill {enter process id here}
저는 이런 식으로 하는 것을 추천하지 않습니다.OS를 다시 설치할 때 이 명령을 사용하면 컨테이너 문제를 해결하는 데 시간이 절약됩니다.
언급URL : https://stackoverflow.com/questions/45357771/stop-and-remove-all-docker-containers
'programing' 카테고리의 다른 글
워드프레스에서 새 게시물을 작성할 수 없는 이유는 무엇입니까?경고: 라인 716에서 /public_html/wp-admin/includes/post.php의 빈 값으로 기본 개체를 만듭니다. (0) | 2023.09.24 |
---|---|
리터럴 문자열 및 함수 반환 값이 l값입니까, r값입니까? (0) | 2023.09.24 |
오류 1286(42000):알 수 없는 스토리지 엔진 '열 저장소' (0) | 2023.09.24 |
WooCommerce에 상품 설명을 위한 숏코드가 있나요? (0) | 2023.09.19 |
알파인을 기본 이미지로 사용할 때 사용자를 추가하려면 어떻게 해야 합니까? (0) | 2023.09.19 |