헝D의 일기장
Published 2026. 3. 11. 22:12
[Docker] Docker CLI 개발공부

[이미지 다운]

# docker pull 이미지명(:latest)
$ docker pull nginx #최신버전

$ docker pull nginx:stable-perl #특정버전(=태그명)

이미지는 Dockerhub에서 다운받는다.

ㄴ Dockerhub: 이미지를 저장/다운 받을수 있는 저장소

 

[이미지 조회/삭제]

$ docker image ls #다운받은 모든 이미지 조회

$ docker image rm [이미지 ID(일부만 입력가능) 또는 이미지명] #특정 이미지 삭제

$ docker image rm -f [이미지 ID(일부만 입력가능) 또는 이미지명] #중지된 컨테이너에서 사용하는 이미지 강제삭제

$ docker image rm $(docker images -q) #컨테이너에서 사용안하는 이미지 전체삭제

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

 

[컨테이너 생성/실행]

이미지를 바탕으로 컨테이너를 생성.

#docker create 이미지명[:태그명]
$ docker create nginx # 생성만 하고 실행은 안시킴. 다운받은 이미지 없으면 Dockerhub에서 이미지 다운받아서 컨테이너 생성됨
$ docker ps -a #모든 컨테이너 조회

#이미지 바탕으로 컨테이너 생성 후 실행까지 시키기
$ docker run nginx #포그라운드 실행. Ctrl+C 로 종료가능
$ docker run -d nginx # 백그라운드 실행.
$ docker run -d --name my-web nginx #컨테이너에 my-web이라는 이름 붙여서 생성
#갱신된 이미지 다운시 docker pull

 

#정지된 컨테이너 실행
# docker start 컨테이너명 또는 ID
$ docker start 컨테이너명 또는 ID
$ docker ps #실행중인 컨테이너 조회

#컨테이너 중단 후 삭제
$ docker ps
$ docker stop ID #컨테이너 중단
$ docker kill ID #강제중지
$ docker rm ID #중지되어있는 컨테이너 삭제
$ docker rm -f ID #실행중인 컨테이너 삭제
$ docker rm $(docker ps -qa) #중지된 모든 컨테이너 삭제
$ docker rm -f $(docker ps -qa) #실행중인 모든 컨테이너 삭제
$ docker image rm nginx #이미지 삭제

 

[호스트의 포트와 컨테이너의 포트 연결]

$ docker run -d -p 4000:80 nginx #[호스트포트]:[컨테이너포트] 이미지명

 

[컨테이너 로그 조회]

$ docker run -d nginx
$ docker logs ID

# 최근 로그 10줄
$ docker logs --tail 10 ID

#기존 로그 조회+생성되는 로그 실시간
$ docker run -d -p 80:80 nginx #nginx의 컨테이너에 실시간으로 쌓이는 로그
$ docker logs -f #-f는 follow 의미

#기존 로그 조회없이 생성되는 로그 실시간
$ docker logs -tail 0 -f 컨테이너ID

 

[실행중인 컨테이너 내부 접속]

# docker exec -it 컨테이너ID bash

$ docker run -d nginx
$ docker exec it ID bash #컨테이너에 접속. -it 옵션을 적어야 종료되지 않고 계속해서 명령어 입력가능
$ ls
$ cd /etc/nginx
$ cat nginx.conf

#Ctrl+D 또는 exit 입력해서 탈출
profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!