모든 docker run
명령, 또는 모든 RUN
Dockerfile 내부 명령은 컨테이너를 만듭니다. 컨테이너가 더 이상 실행되지 않으면 여전히 컨테이너를 볼 수 있습니다 docker ps -a
.
실행 중이 아닌 컨테이너 목록이 많이 필요합니까? docker rm
비 실행 컨테이너에서 발행해야합니까 ?
이 비 실행 컨테이너가 어떤 성능 또는 메모리 / 스토리지 처벌을 받는지 확실하지 않습니다.
모든 docker run
명령, 또는 모든 RUN
Dockerfile 내부 명령은 컨테이너를 만듭니다. 컨테이너가 더 이상 실행되지 않으면 여전히 컨테이너를 볼 수 있습니다 docker ps -a
.
실행 중이 아닌 컨테이너 목록이 많이 필요합니까? docker rm
비 실행 컨테이너에서 발행해야합니까 ?
이 비 실행 컨테이너가 어떤 성능 또는 메모리 / 스토리지 처벌을 받는지 확실하지 않습니다.
답변:
실행 중이 아닌 컨테이너는 디스크 공간 외에 시스템 리소스를 사용하지 않습니다.
일반적으로 자신을 정리하는 것이 좋지만 주위에 많은 것들이 있으면 성능이 느려지지 않아야합니다.
컨테이너가 많이 중지 된 docker 명령을 실행할 때 속도가 느려지는 경우 docker의 버그 일 수 있으므로 버그를 제출해야합니다.
RUN
: 명령은 이제 이동 한 docs.docker.io/en/latest/reference/builder/#run
이 docker run
문서 는 컨테이너가 종료 될 때 컨테이너를 자동으로 정리하고 파일 시스템을 제거하는 방법을 설명합니다.
--rm=false: Automatically remove the container when it exits (incompatible with -d)
위의 내용은 기본적으로 컨테이너가 제거되지는 않지만 단식 추가 --rm=true
또는 단축 --rm
은 다음과 같이 작동 함을 보여줍니다 .
sudo docker run -i -t --rm ubuntu /bin/bash
컨테이너를 종료하면 컨테이너가 자동으로 제거됩니다.
하나의 터미널 창에 도커 컨테이너를 나열하여이를 테스트 할 수 있습니다.
watch -n1 'sudo ls -c /var/lib/docker/containers'
그런 다음 다른 창에서이 명령을 실행하여 최대 10 초 동안 휴면 후 자동으로 종료되는 여러 도커 컨테이너를 실행하십시오.
for i in {1..10}; do sudo docker run --rm ubuntu /bin/sleep $i & done
-rm
더 이상 사용되지 않으며 언젠가는 제거 될 예정 --rm
입니다.
이 비 실행 컨테이너가 어떤 성능 또는 메모리 / 스토리지 처벌을 받는지 확실하지 않습니다.
비 실행 Docker 컨테이너가 사용중인 스토리지 양을 평가하기 위해 다음을 실행할 수 있습니다.
docker ps --size --filter "status=exited"
--size
: 총 파일 크기 표시 (FYI : "docker ps -s"의 SIZE 열과 "virtual"키워드가 # 1520을 의미하는 내용 설명 ).--filter "status=exited"
: 중지 된 컨테이너 만 나열합니다 .마찬가지로 다음을 실행할 수 있습니다.docker container ls --filter "status=exited"
다음 명령을 사용하여 docker system df
도커 디스크 사용량을 확인할 수도 있습니다 (예 : 2017 년 1 월 Docker 1.13.0에서 도입).
username@server:~$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 44 28 114.7GB 84.84GB (73%)
Containers 86 7 62.43GB 41.67GB (66%)
Local Volumes 2 1 0B 0B
Build Cache 0B 0B
docker exec
명령이 얼마 전에 추가 된 참조 docs.docker.com/reference/commandline/cli/#exec - 그것은 실행중인 컨테이너 떨어져 명령을 실행합니다.