- 비전공자도 이해할 수 있는 Docker 입문/실전 (박재성)
- #1. Docker 기본 개념
- #2. Docker 기본 CLI (현재 !)
이미지 다운로드
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번만 실행시키고 종료된다
# 컨테이너 환경에서의 명령어를 입력할 수 있다
예전에 한번 도커 명령어를 정리해 보았던 것 같은데, 강의를 복습해서 들으면서 다시금 정리해 보았다. 다음 강의는 볼륨 관련된 부분이라 기대가 된다. 열심히 차곡차곡 이해해 가야겠다.
'Docker' 카테고리의 다른 글
[Docker] Dockerfile (도커 강의 정리 #4) (0) | 2025.04.30 |
---|---|
[Docker] Docker Volume (도커 강의 정리 #3) (0) | 2025.04.23 |
[Docker] Docker 기본 개념 (도커 강의 정리 #1) (0) | 2025.04.08 |
[Docker] AccessDeniedException (1) | 2025.02.06 |
[Docker] lazydocker 설치 방법 (1) | 2024.11.17 |