개발 공부 로그

[Docker] 컨테이너 조회, 컨테이너 중지, 컨테이너 삭제, 컨테이너 로그 조회, 실행 중인 컨테이너에 접속하기 본문

Docker

[Docker] 컨테이너 조회, 컨테이너 중지, 컨테이너 삭제, 컨테이너 로그 조회, 실행 중인 컨테이너에 접속하기

mejii 2025. 6. 10. 14:16

⭐️  컨테이너 조회

$ docker ps

 

✔️ 모든 컨테이너 조회(작동하고 있는 컨테이너와 작동을 멈춘 컨테이너 모두 조회)

$ docker ps -a

 

 

⭐️ 컨테이너 중지

$ docker stop 컨테이너명[또는 컨테이너 ID]
$ docker kill 컨테이너명[또는 컨테이너 ID]

 

둘의 차이를 비유를 통해 알아보자.

 

- docker stop : 시스템 종료 버튼을 통해 정상적으로 종료하기

- docker kill : 본체 버튼을 눌러 무식하게 종료하기

 

⭐️  컨테이너 삭제

$ docker rm 컨테이너명[또는 컨테이너 ID]

 

중지되어 있는 컨테이너만 삭제 가능하다. 실행되고 있는 컨테이너는 아래의 명령어로 삭제할 수 있다.

 

$ docker rm -f 컨테이너명[또는 컨테이너 ID]

 

✔️ 중지되어 있는 모든 컨테이너 삭제, 실행되고 있는 모든 컨테이너 삭제

$ docker rm $(docker ps -qa) # 중지된 모든 컨테이너 삭제
$ docker rm -f $(docker ps -qa) # 실행중인 모든 컨테이너 삭제

 

 ⭐️ 컨테이너 로그 조회

 컨테이너를 실행시키고나서 실행시킨 컨테이너가 잘 실행되고 있는지, 에러가 발생한 건 아닌지는 로그를 보면 알 수 있다!

디버깅할 때 필수로 확인해야 하는 것이 로그이다. 컨테이너의 로그를 조회해보자.

$ docker logs [로그를 확인하고 싶은 실행 중인 컨테이너 ID or 컨테이너명]

 

✔️ 최근 로그 10줄만 조회

# dokcer logs --tail [로그 끝부터 표시할 줄 수] [컨테이너 ID 또는 컨테이너명]
$ dokcer logs --tail 10 [컨테이너 ID 또는 컨테이너명]

 

✔️ 기존 로그 조회 + 생성되는 로그를 실시간으로 보기

# docker logs -f [컨테이너 ID 또는 컨테이너명]

# Nginx의 컨테이너에 실시간으로 쌓이는 로그 확인하기
$ docker run -d -p 80:80 nginx
$ docker logs -f

 

  -f : follow의 약어

 

✔️ 기존 로그 조회 X + 생성되는 로그 실시간으로 보기

$ docker logs --tail 0 -f [컨테이너 ID 또는 컨테이너명]

 

⭐️ 실행 중인 컨테이너 내부에 접속하기

$ docker run -d nginx
$ docker exec -it [Nginx가 실행되고 있는 컨테이너 ID] bash

 

bash : 쉘의 일종

-it : -it 옵션을 사용해야 명령어를 입력하고 결과를 확인할 수 있다. -it 옵션을 적지 않으면 명령어를 1번만 실행시키고 종료되어 버린다.

-it 옵션을 적어야 계속해서 명령어를 입력할 수 있다.