이미지와 컨테이너
이전 포스팅에서 컨테이너를 생성하기 위해 이미지가 필요하다는 사실을 알았는데,
이미지는 무엇인지 더 명확히 알고자 한다.
- 이미지는 컨테이너를 만드는 데 사용
- 실제 사용하는 것은 컨테이너이며, 이미지를 그대로 사용할 일은 없음
- 이미지는 일종의 틀로, 이미지 하나만 있으면 동일한 컨테이너를 여러개 만들 수 있음
컨테이너로 이미지를 만들 수 있다?
만약 만들어진 컨테이너를 변경하고 싶고, 그 변경한 컨테이너를 여러개 만들고 싶다면?
기존에 가지고 있는 이미지로 컨테이너를 생성하는 것은 일일이 수정해야 하기 때문에 매우 번거롭게 된다.
- 컨테이너로 이미지를 만드는 것은 이미 만든 컨테이너에 손을 대서 컨테이너의 틀을 새로 만드는 과정을 말함
- 변경된 컨테이너에 대한 틀이 생겼기 때문에 변경된 컨테이너를 여러개 만들어 내는 것이 간단해짐
도커 엔진 간에 이동이 가능하다?
- 다른 물리 서버에 설치된 도커 엔진으로 컨테이너를 이동 시킬 수 있음
- 도커 엔진을 설치하고(도커 엔진만 설치되어 있으면 구동이 가능), 새로운 도커 엔진에 이미지를 이용해 똑같은 컨테이너를 생성하는 것을 의미
도커 허브와 도커 이미지
초보자가 도커 이미지를 만들어 낼 일은 거의 없다는데,
그렇다면 이미지는 어떻게 구하는걸까?
도커 허브란?
: 공식적으로 운영되는 도커 레지스트리(도커 이미지를 배포하는 서비스)의 이름
: 공개된 컨테이너 이미지가 모여있는 곳으로 원하는 컨테이너의 이미지를 내려받을 수 있음
: 다양한 공개 컨테이너 이미지가 제공
: 누구든지 이미지를 등록하고 공개할 수 있음
누구든지 이미지를 등록하고 공개할 수 있다면, 모든 이미지를 신뢰할 수 있을까?
안전한 이미지를 어떻게 고를 수 있을까?
1. 공식 이미지를 사용
: 공식 이미지를 사용하면 이미지 선택도 쉽고 보안도 챙길 수 있음
: 다만, 특정 운영체제 및 버전을 사용해야 하는 상황에서는 주의가 필요
2. 커스텀 이미지를 직접 만들어서 사용
: 필요한 최소한의 요소가 담긴 이미지에 필요한 소프트웨어를 추가로 설치해 커스텀 이미지를 만들어 사용
도커의 원칙
' 한 컨테이너에 한 프로그램 '
도커 사용 원칙 중 하나인 '한 컨테이너에 한 프로그램'이라는 것이 있는데,
이는 말 그대로 하나의 컨테이너에 하나의 프로그램만 담긴 컨테이너를 사용한다는 것을 말한다.
이는 보안 및 유지 관리 측면에서 유리하기 때문이다.
방법1. 각각 별도의 컨테이너로 구성
방법2. 한 컨테이너에 모두 집어 넣는 방법
즉, 한 컨테이너에 하나의 프로그램 또는 여러 개의 프로그램을 넣을 수도 있다.
'공부 자료 > Kubernetes & Docker' 카테고리의 다른 글
[Docker] 도커의 장단점 (0) | 2024.06.17 |
---|---|
[Docker] 도커 컨테이너의 생애주기와 데이터 저장 (0) | 2024.06.17 |
[Docker] 도커의 동작 원리 (1) | 2024.06.11 |
[Docker] 도커란 무엇인가? (1) | 2024.06.06 |
[Docker] Dockerfile (0) | 2024.05.15 |