본문 바로가기

Docker

[Docker] 도커를 이용한 컨테이너 관리 : 도커 이미지와 컨테이너

도커 구성요소 

 

 

docker 명령어가 client 역할

Docker daemon = docker engine  -> 해당 데몬이 올라와있는 서버를 Docker Host라고 부름 

containers, image 관리 

image 

1. build 

2. pull

이미지를 가져올때 사용하는것이 Registry (이미지 저장소) 이다.  

이미지 저장소로부터 실행시키면 컨테이너가 됨 

 

 

 

도커 이미지와 컨테이너 

 

이미지 (Image)

: 컨테이너를 생성할 때 필요한 요소.

컨테이너의 목적에 맞는 바이너리와 의존성이 설치되어 있음.

여러 개의 계층으로 된 바이너리 파일로 존재 

 

컨테이너 (Container) -> 이미지를 통해 만들어진 프로세스 

: 호스트와 다른 컨테이너로부터 격리된 시스템 자원과 네트워크를 사용하는 프로세스.

이미지는 읽기 전용으로 사용하여 변경사항은 컨테이너 계층에 저장

=> 컨테이너에서 무엇을 하든 이미지는 영향을 받지 않음 

 

동일한 이미지를 여러 방법으로 실행하여 여러개의 컨테이너를 생성할 수 있다. 

 

 

 

 

Docker file에서 build 명령어를 사용하면 Docker 이미지가 생성되며, 

Docker Image에서 Run 명령어를 사용하면 Docker Container가 생성됨.

 

 

 

 

도커 이미지 이름 구성

 

모든 구성요소가 들어간 이미지 이름

Fastcampus / nginx : 1.21

저장소 이름 / 이미지 이름 : 이미지 태그 (이미지의 버전이나, 리비전을 뜻하는 태그값)

 

아래와 같이 생략 가능 

1. 이미지 태그 생략 

Fastcampus / nginx -> 도커 이미지 태그를 생략하면 최신 리비전을 가리키는 latest로 인식

2. 도커 저장소 생략

nginx:latest -> 도커 저장소를 생략하면 기본 저장소인 도커 허브로 인식

3. 이미지 태그, 저장소 생략

nginx

 

 

 

도커 이미지 저장소 

 

이미지 저장소(Image Repository)

도커 이미지를 관리하고 공유하기 위한 서버 어플리케이션 

public (공개형) : QUAY, docker hub

private (비공개형) : AWS ECR, docker registry