Welcome! Everything is fine.

[Docker] 도커 주요 명령어 정리 본문

Docker

[Docker] 도커 주요 명령어 정리

개발곰발 2025. 8. 18.
728x90
인프런 <비전공자도 이해할 수 있는 Docker 입문/실전> 강의를 토대로 정리한 내용입니다.

이미지(Image) 관련 명령어

이미지 다운로드

docker pull [이미지명]

$ docker pull nginx
  • 최신 버전 이미지 다운로드. docker pull nginx:latest와 동일하게 작동

docker pull [이미지명:태그명]

$ docker pull nginx:stable-perl
  • 특정 버전 이미지 다운로드. dockerhub에서 태그명 확인 가능

이미지 조회

docker image ls

$ docker image ls
  • 다운받은 모든 이미지 조회
    • REPOSITORY : 이미지 이름
    • TAG : 이미지 태그명
    • IMAGE ID : 이미지 ID
    • CREATE : 이미지가 생성된 날짜(다운받은 날짜 X)
    • SIZE : 이미지 크기

이미지 삭제

docker image rm [이미지 ID 또는 이미지명]

$ docker image rm nginx
$ docker image rm 07a
  • 컨테이너에서 사용하고 있지 않은 특정 이미지 삭제
  • 이미지 ID 입력 시, ID의 일부만 입력 가능 

docker image rm -f [이미지 ID 또는 이미지명]

$ docker image rm -f nginx
  • 중지된 컨테이너에서 사용하고 있는 특정 이미지 삭제
  • 실행 중인 컨테이너에서 사용하고 있는 이미지는 강제 삭제 불가

docker image rm $(docker images -q)

$ docker image rm $(docker images -q)
  • 컨테이너에서 사용하고 있지 않은 이미지만 전체 삭제

docker image rm -f $(docker images -q)

$ docker image rm -f $(docker images -q)
  • 컨테이너에서 사용하고 있는 이미지를 포함해서 전체 이미지 삭제

컨테이너(Container) 관련 명령어

컨테이너 생성 / 실행

docker create 이미지명[:태그명]

$ docker create nginx

docker start 컨테이너명[또는 컨테이너 ID]

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

docker run 이미지명[:태그명]

$ docker run nginx
  • 이미지를 바탕으로 컨테이너 생성 후 실행 (이미지가 없을 시 DockerHub에서 이미지를 다운받아 실행)
  • 포그라운드에서 실행 → 추가적인 명령어 조작 불가
❓ 포그라운드와 백그라운드
🔷 포그라운드 : 내가 실행시킨 프로그램의 내용이 화면에서 실행되고 출력되는 상태
🔷 백그라운드 : 내가 실행시킨 프로그램이 컴퓨터 내부적으로 실행되는 상태

docker run -d --name [컨테이너 이름] 이미지명[:태그명]

$ docker run -d --name my-web-server nginx
  • 컨테이너에 이름 붙여서 생성 및 실행

 docker run -d -p [호스트 포트]:[컨테이너 포트] 이미지명[:태그명]

$ docker run -d -p 4000:80 nginx
  • 도커를 실행하는 호스트의 4000번 포트를 컨테이너의 80번 포트로 연결하도록 설정

컨테이너 조회

docker ps

$ docker ps # 실행중인 컨테이너 조회
$ docker ps -a # 모든 컨테이너 조회

컨테이너 중지 / 삭제

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

$ docker stop {nginx를 실행시킨 Contnainer ID}

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

$ docker rm {nginx를 실행시킨 Contnainer ID}
  • 중지되어 있는 특정 컨테이너 삭제

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

$ docker rm -f 컨테이너명{nginx를 실행시킨 Contnainer ID}
  • 실행되고 있는 특정 컨테이너 삭제

docker rm -f $(docker ps -qa)

$ docker rm -f $(docker ps -qa)
  • 중지되어 있는 모든 컨테이너 삭제

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

$ docker kill {nginx를 실행시킨 Contnainer ID}
  • 특정 컨테이너 강제 중지

컨테이너 로그 조회

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

$ docker run -d nginx
$ docker logs [nginx가 실행되고 있는 컨테이너 ID]
  • 특정 컨테이너의 모든 로그 조회

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

$ dokcer logs --tail 10 [컨테이너 ID 또는 컨테이너명]
  • 최근 로그 10줄만 조회

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

$ docker run -d -p 80:80 nginx
$ docker logs -f
  • 기존 로그도 조회하면서 생성되는 로그를 실시간으로 볼 때

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

$ docker logs --tail 0 -f [컨테이너 ID 또는 컨테이너명]
  • 기존 로그는 조회하지 않고 생성되는 로그를 실시간으로 볼 때