백엔드 개발자 블로그

4. Docker Image 이해 본문

CI CD/Docker

4. Docker Image 이해

backend-dev 2024. 5. 22. 21:47

docker Container 서비스를 위한 Image

  • Container 런타임을 위한 라이브러리, 바이너리, 설정값 등을 포함
  • 상태값을 보유하지 않고 변하지 않는다.

 

 

1. 이미지 내려받기

Docker는 hub.docker.com(docker.io)에서 pull, push한다.

또는 Private registry 서버를 두고 pull, push도 가능하다.

docker pull [image] [options] nam: [tag]

# 기본적으로 docker.io가 default registry로 등록되어 있다.
# option의 default는 latest이다.
~$ docker pull debian

# 만일, private registry 나 클라우드의 저장소(ECR, GCR 등)의 이미지르 받는다면,
~$ docker pull 192.168.56.101:5000/debian:10
~$ docker pull gcr.io/google-samples/hello-app:1.0

 

2. 이미지 구조 확인

2-1 inspect : 배경으로 확인

# 특정 이미지의 전체 구조 확인
~$ docker image inspect [이미지 이름]

# 특정 이미지의 내부 구조 확인
~$ docker image inspect --format="{{.[변수이름]}}" [이미지 이름]

# 특정 이미지의 내부 구조 확인(여러개)
~$ docker image inspect --format="{{.[변수이름]}} {{.[변수이름]}}" [이미지 이름]

 

2-2 history : dockerfile로 확인

# 특정 이미지의 전체 구조 확인
~$ docker image history [이미지 이름]

 

2-3 UFC : 여러개의 layer를 하나로 FS(file system)으로 사용하게 해주는 기능 제공 

 

image를 내려 받는 과정에서 image가 여러개의 layer로 되어 있음을 알 수 있다.

 

image는 불변

docker run으로 컨테이너를 생성하면 [Container layer]가 Read Wrtie으로 추가된다.

하나의 이미지는 원하는 만큼의 Container를 생성할 수 있다.

 


3. 이미지 올리기

3-1 로그인

3-1 암호로 로그인

base64로 암호화 되어있어서 위험함 토큰 기법을 권장

# 로그인
~$ docker login

# 로그아웃
~$ docker logout

 

 

'CI CD > Docker' 카테고리의 다른 글

1. 컨테이너 가상화 이해  (0) 2024.05.22
Docker 개념  (0) 2023.08.22