이미지 & 컨테이너¶
도커 스터디 - 처음부터 제대로 배우는 도커/쿠버네티스 컨테이너 개발과 운영 ch. 2
created: 2026.1.15
이미지¶
- 컨테이너 이미지: 컨테이너를 생성하기 위한 템플릿(template)
- OS로 구성된 파일 시스템, 애플리케이션, 의존 관계 라이브러리, 도구, 실행 환경 설정 정보 등을 포함한 아카이브
- Dockerfile: 이미지를 생성하기 위한 순서를 기술한 파일
docker help # 도커 커맨드 옵션
docker image --help # 커맨드
docker image build --help # 서브 커맨드
docker [command] [subcommand]
docker image build¶
docker image build -t 이미지명[:태그명] Dockerfile 경로
docker image build -f Dockerfile-test -t ...
docker image build --pull=true -t ...
-t: tag. 거의 필수로 사용 - 이미지명과 태그명을 지정
- 마지막 인수는 Dockerfile이 위치하는 디렉터리 경로를 지정
- -f: Dockerfile 대신 다른 이름을 사용할 때 사용
- --pull: true로 지정하면 이미지를 빌드할 때마다 베이스 이미지를 강제로 다시 가져옴(최신 이미지 반영)
- --progress=plain: 이미지 빌드 시 출력을 표시
docker search¶
- 도커 허브의 레지스트리에 등록된 리포지터리 검색
docker image pull¶
- 컨테이너 레지스트리에서 컨테이너 이미지를 가져옴docker image ls¶
- 도커 엔진 실행 환경에 저장된 이미지 리스트docker image tag¶
- 컨테이너 이미지의 특정 버전에 태그를 지정docker login¶
- 이미지 푸시를 위해 대상 컨테이너 레지스트리에 로그인docker image push¶
- 컨테이너 이미지를 컨테이너 레지스트리에 등록컨테이너¶
- 컨테이너: 이미지를 기반으로 생성
- 가상 환경으로 파일 시스템과 애플리케이션이 함께 든 박스
- 컨테이너의 라이프 사이클: 실행 중, 중지, 파기
- 실행 중:
docker run을 통해 실행된 상태 - 중지: 상태 유지 - 재실행 가능
- 파기: 동일한 상태의 컨테이너 다시 생성 불가
- 실행 중:
docker container run¶
docker container run [options] (이미지명:[:태그] | 이미지ID) [커맨드] [커맨드 인수...]
docker container run --name [컨테이너명] [이미지명]:[태그]
-d 옵션으로 백그라운드 실행
- -p 옵션으로 포스 포워딩
- 인수를 전달하여 Dockerfile에서 지정한 CMD 덮어쓰기 가능
- --name: 컨테이너 이름 지정
- -it: 터미널 활성화 및 문자 입력 가능. 가상 환경 로그인 개념
- --rm: 컨테이너가 종료된 때 컨테이너 파기
- -v: 호스트와 컨테이너가 디텍터리와 파일을 공유할 때 사용
docker container ps¶
- 실행 중인 컨테이너와 종료한 컨테이너의 리스트 표시| 항목 | 내용 |
|---|---|
| CONTAINER ID | 컨테이너에 부여되는 고유 ID |
| IMAGE | 컨테이너 생성에 사용되는 컨테이너 이미지 |
| COMMAND | 컨테이너에서 실행되는 애플리케이션 프로세스 |
| CREATED | 컨테이너 생성 시점부터 경과 시간 |
| STATUS | Up(실행 중), Exited(종료)의 컨테이너 실행 상태 |
| PORTS | 호스트 포트와 컨테이너 포트 연결(포트 포워딩) |
| NAMES | 컨테이너에 부여된 이름 |
-q: 컨테이너 ID만 표시--filter: 특정 조건 필터링 (예)--fileter "name=echo-a: 중지한 컨테이너 포함
docker container stop¶
- 실행 중인 컨테이너 종료(중지)docker container rm¶
- 중지된 컨테이너를 디스크에서 완전 파기docker container logs¶
- 특정 컨테이너의 로그 확인 --f: 계속 확인