우분투에서 Docker를 사용할 때 실행 중이거나, 생성된 모든 컨테이너 리스트를 확인하는 방법을 소개합니다.
1. 실행 중인 컨테이너 리스트
docker container ls
는 현재 실행 중인 컨테이너 목록을 출력합니다.
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
042d717aa2b6 busybox "sh" 1 second ago Up Less than a second youthful_golick
실행 중인 컨테이너가 없다면 아래와 같이 출력되는 내용이 없습니다.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- CONTAINER ID : 컨테이너의 고유 ID
- IMAGE : 컨테이너를 생성할 때 사용된 이미지
- CREATED : 생성되고 지난 시간
- STATUS : 컨테이너 상태 (UP: 실행중, Exited: 종료, Pause: 일시정지)
- NAMES : 컨테이너의 이름
또한, docker ps
명령어도 위와 같이 실행 중인 컨테이너 목록을 출력합니다.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b887c574f05 busybox "sh" 4 seconds ago Up 3 seconds happy_hamilton
2. 모든 컨테이너 리스트
docker container ls -a
처럼 -a
옵션을 입력하면 생성된 모든 컨테이너 리스트를 보여줍니다. 실행 중이 아닌, 종료된 컨테이너들도 확인할 수 있습니다.
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
042d717aa2b6 busybox "sh" 3 minutes ago Up 3 minutes youthful_golick
2b887c574f05 busybox "sh" 4 minutes ago Exited (0) 4 minutes ago happy_hamilton
30c323b5a82e busybox "sh" 2 hours ago Exited (130) 2 hours ago kind_heyrovsky
e0a6317da1b5 busybox "echo 'hello from bu…" 2 hours ago Exited (0) 2 hours ago angry_stonebraker
aab651f71d8a hello-world "/hello" 2 hours ago Exited (0) 2 hours ago xenodochial_dubinsky
3. 최근에 실행된 컨테이너 리스트
docker container ls --latest
명령어는 가장 최근에 실행된 컨테이너를 보여줍니다.
$ docker container ls --latest
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef1758c3f211 busybox "sh" 2 seconds ago Up 1 second test2
최근에 실행된 컨테이너 3개를 보려면 docker container ls -n 3
처럼 -n
옵션으로 개수를 입력하면 됩니다.
$ docker container ls -n 3
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef1758c3f211 busybox "sh" About a minute ago Up About a minute test2
39c63b05d61a busybox "sh" About a minute ago Exited (0) About a minute ago test1
042d717aa2b6 busybox "sh" 7 minutes ago Exited (0) About a minute ago youthful_golick
4. 컨테이너 리스트에서 ID만 출력
명령어에 -q
옵션을 사용하여 컨테이너 ID만 출력되도록 할 수 있습니다.
$ docker container ls -q
ef1758c3f211
종료된 컨테이너도 보고 싶다면 -a -q
옵션을 사용하시면 됩니다.
$ docker container ls -a -q
ef1758c3f211
39c63b05d61a
042d717aa2b6
2b887c574f05
30c323b5a82e
e0a6317da1b5
aab651f71d8a
5. 컨테이너 삭제
docker container rm [Container ID]
명령어로 어떤 Container를 삭제할 수 있습니다.
$ docker container rm e0a6317da1b5
종료된 모든 컨테이너를 삭제하려면 docker container prune
명령어를 사용하시면 됩니다.
$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
39c63b05d61a6577c6fa628c878ba04c03aaa9dbaa7f9e06f681a95b8932d5e7
042d717aa2b654aa9eaa9f36569f108702c45517ce1ad5bf7d5df2379b1df574
2b887c574f056aede9c2d1ec46cf11ea4543a85fe27d342d633b373b204264fc
30c323b5a82ea9fb094a11838913d03ebbeab22c80ec9e4b1bf12fdd2c034af9
aab651f71d8a92d5e6aa4e5c8a8aae11e23409429c83c2096f7bcda77bec0699
Total reclaimed space: 20B
컨테이너 리스트를 확인해보면 실행 중인 컨테이너 외에 종료된 컨테이너는 모두 삭제되었습니다.
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef1758c3f211 busybox "sh" 6 minutes ago Up 6 minutes test2
Loading script...