본문 바로가기
Docker

[Docker] Docker 기본 CLI (도커 강의 정리 #2)

by dbs_ 2025. 4. 14.

 

  • 비전공자도 이해할 수 있는 Docker 입문/실전 (박재성)

이미지 다운로드

1. 가장 최신 이미지 다운받기

docker pull nginx
# 이미지:latest(default)

2. 특정태그 이미지 다운받기

docker pull nginx:stable-alpine3.19-perl
# 이미지:특정태그명

 

이미지 조회/삭제 

3. pull 받은 이미지 목록보기

docker image ls
# ls : list를 뜻함

# 예시
REPOSITORY   TAG       IMAGE ID   CREATED      SIZE
nginx        latest    uuid       4 days ago   193MB
# REPOSITORY : 다운받은 이미지 이름
# TAG : 다운받은 이미지 태그
# IMAGE ID : uuid
# CREATED : 이미지를 만든 회사가 언제 그 이미지를 만들었는지
# SIZE : 이미지 크기, 용량

4. 이미지 삭제

docker image rm {id}
# id값은 uuid 입력하기 힘들어서 3~4글자만 입력해도 삭제가 가능하도록 되어있다
# 이미지는 이미 사용하고 있는 컨테이너가 있다면 삭제 할 수 없다

5. 이미지 강제 삭제

docker image rm -f {id}
# 중단된 컨테이너에서 사용하고 있는 것도 강제 삭제
# 실행중인 컨테이너의 이미지는 삭제 못함! 무조건 중단시켜야함

6. 사용하지 않는 전체 이미지 삭제

docker image rm ${docker images -q}
# 컨테이너에서 사용하고 있지 않은 전체 이미지 삭제

 

컨테이너 생성/실행

7. 이미지 생성

docker create nginx
# nginx 이미지를 가지고 컨테이너 생성
# 생성만 한 것 (실행 X)
# 내 로컬 환경에 다운받은 이미지가 없다면 해당 이름으로 docker hub로부터 이미지를 다운받아서 컨테이너를 생성함

8. 이미지 실행

docker start {id}
# 컨테이너 실행시킴

9. 포그라운드로 컨테이너 생성&실행

docker run nginx
# create + start
# 한번에 컨테이너 생성과 실행을 모두 해준다
# foreground 실행

10. 백그라운드로 컨테이너 생성&실행 

docker run -d nginx
# -d : background  실행

11. 이름 붙여서 생성&실행

docker run -d —name my-web-server nginx
#  —name : 이름 붙이기

12. 포트매핑 후 생성&실행

docker run -d -p 4000:80 nginx
# -p : 포트매핑
# 포트 지정하지 않으면, 로컬호스트에서는 독립적으로 실행하는 컨테이너로 접근 못한다
# 도커를 실행하는 호스트의 4000번 포트를 컨테이너의 80번 포트로 연결하도록 설정한다

리눅스의 foregroudn/background

  • foreground
    • 내가 실행시킨 프로그램의 내용이 화면에서 실행되고 출력되는 상태
    • 실시간으로 로그 찍히는 거 볼 수 있음
  • background
    • 내가 실행시킨 프로그램이 컴퓨터 내부적으로 실행되는 상태
    • 다른 명령어 더 추가로 입력 가능

 

컨테이너 조회/중지/삭제

13. 컨테이너 조회

docker ps
# 현재 실행중인 컨테이너 조회

docker ps -a
# 컨테이너 전체 조회
# 실행중, 중단 컨테이너 모두 조회됨

14. 컨테이너 중지

docker stop {id}
# 실행중인 컨테이너 중단
# id 말고 name 입력해도 가능
# 깔끔하고 안전하게 중단

docker kill {id}
# 강제 중단
# 다른 곳에 영향 갈 수 있음

docker stop {id} {id} {id}
# 여러개 한번에 stop 가능

15. 컨테이너 삭제

docker rm {id}
# 컨테이너 삭제
# 컨테이너 실행 중인건 못 지움

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

docker rm -f {id}
# 실행되고 있는 컨테이너 강제 삭제

 

컨테이너 로그 조회

16. 컨테이너 로그 조회

docker logs {id}
# 실행중인 컨테이너의 로그 확인

docker logs —tail 10 {id}
# 로그 제일 마지막 10줄만 확인

docker logs -f {id}
# 실시간으로 보여지는 로그 확인

docker logs —tail 0 -f {id}
# 지금 시점부터 쌓이는 로그 확인

 

컨테이너 내부 접속

17. 컨테이너 내부에 접속하기

docker exec -it {id} /bash
# 어떤 환경으로 접속할지 입력 → bash셸
# -it : 이 옵션을 적지 않으면 명령어를 1번만 실행시키고 종료된다
# 컨테이너 환경에서의 명령어를 입력할 수 있다

 

예전에 한번 도커 명령어를 정리해 보았던 것 같은데, 강의를 복습해서 들으면서 다시금 정리해 보았다. 다음 강의는 볼륨 관련된 부분이라 기대가 된다. 열심히 차곡차곡 이해해 가야겠다.