본문으로 건너뛰기

도커 기본 강의 #1

도커와 관련된 도구들

도커, 도커 컴포저, 도커 허브

  • Docker: 컨테이너 구성, 수정, 실행하는 도구
  • Docker-Compose: 두 개 이상의 컨테이너를 결합하여 실행시켜주는 도구
  • Docker Hub: 컨테이너 저장 서버 (사람들이 업로드)

도커의 작동 원리

하나의 리눅스 내에서 별도의 리눅스 시스템을 운영할 수 있는 기술

실행 중인 Image Instance => Container이다.

  • 이미지: 하드디스크에 저장된 파일
  • 컨테이너(실행중): 메모리에 저장
  • 컨테이너(정지): 메모리에 저장

도커 명령어

docker image: 현재 갖고 있는 이미지 리스트

docker ps: 현재 실행 중인 컨테이너

docker ps -a: 모든 컨테이너를 보여줌 (정지된 것 포함)

docker rmi `이미지 이름, 이미지 아이디`: 이미지 삭제

docker rm `컨테이너 아이디`: 정지된 컨테이너 삭제

docker stop `컨테이너 아이디`: 실행 중인 컨테이너 정지

docker run `이미지 이름, 이미지 아이디`: 이미지 실행하기

docker run -d `이미지 이름, 이미지 아이디`: 백그라운드에서 컨테이너 실행

docker run -d -p 8080:80 `이미지 이름, 이미지 아이디`: 포트포워딩

더 자세한 명령어와 옵션은 링크를 참고하자

컨테이너 실행하기

컨테이너의 생명주기

컨테이너 내부에 프로그램이 실행 중이면 종료되지 않고, 프로그램이 실행되지 않고 있으면 종료된다.

컨테이너 상태 변화

  1. 생성(Created): docker create 명령어로 컨테이너가 생성된 상태
  2. 실행(Running): docker start 또는 docker run으로 컨테이너가 실행 중인 상태
  3. 중지(Stopped): docker stop으로 컨테이너가 정지된 상태
  4. 삭제(Deleted): docker rm으로 컨테이너가 완전히 제거된 상태

컨테이너 재시작 정책

docker run --restart=always # 항상 재시작
docker run --restart=on-failure # 오류로 인한 종료시에만 재시작
docker run --restart=unless-stopped # 명시적 종료 외에는 항상 재시작

이러한 재시작 정책은 컨테이너의 안정성과 가용성을 보장하는데 중요한 역할을 한다.