Docker에서 중지된 컨테이너만 나열

David Mbochi Njonge 2023년6월20일
  1. Docker 허브에서 Nginx 이미지 가져오기
  2. Docker 이미지 나열
  3. Nginx 이미지에서 컨테이너 실행
  4. 실행 중인 컨테이너 나열
  5. 실행 중인 컨테이너 중지
  6. docker ps 명령을 사용하여 중지된 컨테이너 나열
  7. docker container ls 명령을 사용하여 중지된 컨테이너 나열
  8. 결론
Docker에서 중지된 컨테이너만 나열

Docker는 이미지와 컨테이너를 관리하는 데 사용할 수 있는 유용한 명령을 제공하지만 일부 명령은 명확하지 않습니다. 예를 들어 Docker 명령 docker ps를 사용하여 실행 중인 컨테이너 목록을 표시하거나 docker 명령 docker ps -a를 사용하여 중지 또는 실행 중인 모든 컨테이너 목록을 표시할 수 있습니다.

명확하지 않은 기능 중 하나는 중지된 컨테이너 목록만 표시하는 것입니다. 이 튜토리얼에서는 Docker에서 중지된 컨테이너 목록만 표시하는 방법을 알아봅니다.

Docker 허브에서 Nginx 이미지 가져오기

이 튜토리얼에서는 Nginx 이미지를 사용하여 컨테이너를 실행하고 이 컨테이너를 사용하여 이 기사의 목표를 달성합니다.

컴퓨터에서 키보드 단축키 ALT+F12를 사용하여 새 터미널 창을 연 후 다음 명령을 사용하여 docker hub에서 Nginx 이미지를 가져옵니다.

~$ docker pull nginx

태그를 지정하지 않았으므로 이 명령은 최신 버전의 Nginx를 가져옵니다. 아래와 같이 터미널 창에서 다운로드 세부 정보를 볼 수 있습니다.

Using default tag: latest
latest: Pulling from library/nginx
e9995326b091: Pull complete
71689475aec2: Pull complete
f88a23025338: Pull complete
0df440342e26: Pull complete
eef26ceb3309: Pull complete
8e3ed6a9e43a: Pull complete
Digest: sha256:943c25b4b66b332184d5ba6bb18234273551593016c0e0ae906bab111548239f
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

Docker 이미지 나열

다운로드가 완료되면 모든 이미지를 나열하는 다음 명령을 사용하여 Nginx 이미지가 다운로드되었는지 확인할 수 있습니다.

~$ docker image ls

다른 이미지가 이전에 설치된 경우 이 명령을 사용하여 모두 나열됩니다. 우리의 경우에는 이미지가 다운로드되었는지 확인하기 위해 이 자습서에서 사용된 이미지를 방금 표시했습니다.

이미지 세부 정보는 다음과 같습니다.

REPOSITORY                        TAG       IMAGE ID       CREATED       SIZE
nginx                             latest    76c69feac34e   2 days ago    142MB

Nginx 이미지에서 컨테이너 실행

테스트 목적으로 각각 container-onecontainer-two라는 이름을 가진 두 개의 컨테이너만 실행합니다. 동일한 터미널 창에서 다음 명령을 순차적으로 실행하여 nginx 이미지를 사용하여 두 컨테이너를 실행합니다.

container-one 실행:

~$ docker run --name container-one -d -p 3000:80 nginx

출력:

9e70a29947c373df2abd4748271d252f297c6a06669f7cffb04fe95ee5fca671

container-two 실행:

~$ docker run --name container-two -d -p 5000:80 nginx

출력:

43cd017b94062e47c6c3f868ed74fb5ca7920522e870eceb58115e388e9d43a5

첫 번째 컨테이너는 컨테이너의 포트 80에서 수신 대기하도록 호스트의 포트 3000을 노출하고 두 번째 컨테이너는 이전 컨테이너와 동일한 포트에서 수신 대기하도록 호스트의 포트 5000을 노출합니다.

실행 중인 컨테이너 나열

이전 섹션에서는 container-onecontainer-two라는 이름으로 두 개의 컨테이너를 실행했습니다. 이러한 컨테이너가 실행 중인지 확인하려면 실행 중인 모든 컨테이너를 나열하는 다음 명령을 사용할 수 있습니다.

~$ docker ps

출력:

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
43cd017b9406   nginx     "/docker-entrypoint.…"   4 minutes ago    Up 4 minutes    0.0.0.0:5000->80/tcp   container-two
9e70a29947c3   nginx     "/docker-entrypoint.…"   24 minutes ago   Up 24 minutes   0.0.0.0:3000->80/tcp   container-one

실행 중인 컨테이너 중지

중지된 컨테이너를 나열하기 전에 컨테이너를 중지해야 하며 다음 명령을 사용하여 이름을 사용하여 컨테이너를 중지할 수 있습니다. 여러 컨테이너를 자유롭게 실행하고 중지할 수 있습니다.

~$ docker stop container-one

출력:

container-one

docker ps 명령을 실행하면 container-two만 실행되고 있음을 알 수 있습니다. 다음 섹션에서는 이 튜토리얼의 주요 목표인 중지된 컨테이너만 나열하는 방법에 대해 알아봅니다.

docker ps 명령을 사용하여 중지된 컨테이너 나열

docker ps 명령에는 조건에 따라 컨테이너를 필터링하도록 지정할 수 있는 --filter 플래그가 있습니다. --filter 플래그의 값은 출력을 제공하는 데 사용될 조건을 예상합니다.

동일한 터미널 창에서 다음 명령을 사용하여 종료 상태의 컨테이너를 필터링합니다.

~$ docker ps --filter "status=exited"

출력:

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS                      PORTS                    NAMES
9e70a29947c3   nginx                   "/docker-entrypoint.…"   48 minutes ago   Exited (0) 18 minutes ago                            container-one

docker container ls 명령을 사용하여 중지된 컨테이너 나열

이 명령의 구문은 이전 예제와 동일합니다. docker container ls 명령에는 조건에 따라 컨테이너를 필터링하도록 지정할 수 있는 --filter 플래그가 있습니다. --filter 플래그가 동일하므로 아래와 같이 exited 상태의 컨테이너를 필터링하는 조건만 제공하면 됩니다.

~$ docker container ls --filter "status=exited"

출력:

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS                      PORTS                    NAMES
9e70a29947c3   nginx                   "/docker-entrypoint.…"   48 minutes ago   Exited (0) 18 minutes ago                            container-one

--filter 플래그는 key-value 쌍의 형태로 제공되어야 하며 필터가 여러 개인 경우 플래그가 여러 개 제공되는지 확인하십시오.

이 자습서에서는 상태라는 필터를 사용하여 상태를 기반으로 컨테이너를 필터링했습니다. 그러나 도커 문서는 컨테이너를 필터링하는 데 활용할 수 있는 다른 전략을 제공합니다.

결론

이 튜토리얼에서는 Nginx 컨테이너를 활용하여 Docker에서 중지된 컨테이너만 나열하는 방법을 배웠습니다. 이를 수행하기 위해 다루는 두 가지 접근 방식에는 ps 명령을 사용하여 중지된 컨테이너를 나열하는 것과 container ls 명령을 사용하여 중지된 컨테이너를 나열하는 것이 포함됩니다.

두 명령에는 특정 조건에 따라 컨테이너를 필터링하기 위해 키-값 쌍을 허용하는 --filter 플래그가 있습니다.

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub

관련 문장 - Docker Container