초과 비 실행 Docker 컨테이너에 대해 걱정해야합니까?


142

모든 docker run명령, 또는 모든 RUNDockerfile 내부 명령은 컨테이너를 만듭니다. 컨테이너가 더 이상 실행되지 않으면 여전히 컨테이너를 볼 수 있습니다 docker ps -a.

실행 중이 아닌 컨테이너 목록이 많이 필요합니까? docker rm비 실행 컨테이너에서 발행해야합니까 ?

이 비 실행 컨테이너가 어떤 성능 또는 메모리 / 스토리지 처벌을 받는지 확실하지 않습니다.


1
docker exec명령이 얼마 전에 추가 된 참조 docs.docker.com/reference/commandline/cli/#exec - 그것은 실행중인 컨테이너 떨어져 명령을 실행합니다.
schmunk December

참고로 오래된 컨테이너를 제거하는 방법을 보려면 다음 질문을 참조하십시오. stackoverflow.com/questions/17236796/…
Ryan Walls

1
@schmunk 링크가 이동했습니다. docs.docker.com/engine/reference/commandline/exec
akauppi

답변:


72

실행 중이 아닌 컨테이너는 디스크 공간 외에 시스템 리소스를 사용하지 않습니다.

일반적으로 자신을 정리하는 것이 좋지만 주위에 많은 것들이 있으면 성능이 느려지지 않아야합니다.

컨테이너가 많이 중지 된 docker 명령을 실행할 때 속도가 느려지는 경우 docker의 버그 일 수 있으므로 버그를 제출해야합니다.


1
에 대한 문서 RUN: 명령은 이제 이동 한 docs.docker.io/en/latest/reference/builder/#run
aculich

63

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

4
질문에 대한 직접적인 대답은 아니지만 사용자에게 도커 뒤에있는 메커니즘에 대한 통찰력을 제공하는 흥미로운 답변입니다. 감사!
thaJeztah

3
-rm더 이상 사용되지 않으며 언젠가는 제거 될 예정 --rm입니다.
bain

5

볼륨이있는 컨테이너를 실행하고 docker rm -v 를 사용 하여 제거하지 않으면 컨테이너를 제거한 후에 볼륨이 제거되지 않습니다. 또한 vfs 저장소 드라이버에 문제 가 있습니다. 정리를 잊어 버리면 볼륨이 디스크 공간을 차지합니다.


2

이 비 실행 컨테이너가 어떤 성능 또는 메모리 / 스토리지 처벌을 받는지 확실하지 않습니다.

비 실행 Docker 컨테이너가 사용중인 스토리지 양을 평가하기 위해 다음을 실행할 수 있습니다.

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