[미션5] 컨테이너 이미지 사례 실습

[미션5] 컨테이너 이미지 사례 실습

이번 미션을 통해 일잘러가 되어보자!🔥🔥🔥

image

실무에서 많이 쓰는 명령어들 위주로 따라해보면 일잘러가 될 수 있도록 정리했다.


 

Docker와 Containerd 명령 실습

 

도커 (Docker)

사전 준비사항

image

업로드 실습을 해보기 위해서는 본인의 도커 허브 Username 필요 --> wnnsla09

전체 실습 명령어를 참고하여 실습 시작!

  1. 빌드

image

 2. 이미지 리스트 조회

image

3. 태그 변경

image

4-1. 로그인

image4-2. 이미지 업로드image5. 이미지 삭제

image

6. 이미지 다운로드

image

7. 이미지 -> 파일로 변환

image

이미지 삭제

image8. 파일 -> 이미지로 변환

image 정리

image

 

 

컨테이너디 (Containerd)

1. 네임스페이스 조회

image2. 특정 네임스페이스 내 이미지 조회

image

3. 다운로드 및 이미지 확인 (이미지는 default라는 네임스페이스에 다운 받아진다.)

imageimage

4. 태그 변경

image

5. 업로드

image

6. 이미지 (namespace : default) -> 파일로 변환

image

7. 파일 -> 이미지로 변환(namespace : k8s.io)

image

8. 삭제(namespace : k8s.io)

image



같은 이미지를 도커에서 받았을 때와 쿠버네티스에서 받았을 때 사이즈가 다른 이유

 

Docker (490MB)

image Containerd (248.3 MiB)

image

  • Container Image를 만들 때 플랫폼(amd64, arm64)을 고려해야 되는데, Docker에서는 amd64를 받았고, Kuberentes에서 arm64를 받아서 이미지 크기가 달라졌을 것이다.

 

Docker (amd64)

imageContainerd (amd64, arm64)

image

 

  • Container 이미지는 각각의 Layer로 구성돼 있는데, Docker에서 다운 받을 때는 전체 Layer를 받았고, Kubernetes에는 기존 이미지에 이미 존재하는 Layer가 있기 때문에 새로 받은 이미지의 Size가 작게 조회

Docker -> Containerd

imageimage

 

Containerd -> Docker

image

image

image

image

도커는 "이미지 재구성"을 한다. 도커는 단순히 이미지를 다운로드하는 데서 끝나는 게 아니라, 자신의 포맷(도커 이미지 형식)에 맞게 레이어를 재정렬하고 필요한 메타데이터나 manifest 정보를 추가해서 재구성한다. 그래서 도커에서 보면: 원래 이미지 용량: 248MB → 도커에선: 490MB 이런 식으로 사이즈가 커진 이미지가 생긴다.

이러한 사실을 바탕으로 나중에 혹시나.. 인터넷이 연결되지 않는 환경에서는 이미지들을 다운 받아서 파일 형태로 복사해야한다면 이때 쿠버네티스에서 컨테이너를 사용한다고 Docker로 받은 이미지를 복사해 넣을 경우 불필요하게 이미지 사이즈가 커지게 되는 상황을 만들지 않도록 주의해야한다. 꼭 명심하자🌟🌟🌟

 

댓글을 작성해보세요.

채널톡 아이콘