도커 기본 강의 #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 `이미지 이름, 이미지 아이디`: 포트포워딩
더 자세한 명령어와 옵션은 링크를 참고하자
컨테이너 실행하기
컨테이너의 생명주기
컨테이너 내부에 프로그램이 실행 중이면 종료되지 않고, 프로그램이 실행되지 않고 있으면 종료된다.
컨테이너 상태 변화
- 생성(Created): docker create 명령어로 컨테이너가 생성된 상태
- 실행(Running): docker start 또는 docker run으로 컨테이너가 실행 중인 상태
- 중지(Stopped): docker stop으로 컨테이너가 정지된 상태
- 삭제(Deleted): docker rm으로 컨테이너가 완전히 제거된 상태
컨테이너 재시작 정책
docker run --restart=always # 항상 재시작
docker run --restart=on-failure # 오류로 인한 종료시에만 재시작
docker run --restart=unless-stopped # 명시적 종료 외에는 항상 재시작
이러한 재시작 정책은 컨테이너의 안정성과 가용성을 보장하는데 중요한 역할을 한다.