이전 글
도커의 컨테이너의 구조
도커의 구조는 상단에서부터 도커 컨테이너, 리눅스 운영체제, 서버 컴퓨터 의 구조로 이루어진다.
컨테이너는 항상 도커엔진위에 올라가 있는 상태이며, 도커엔진은 리눅스 운영체제 위에 올라가있는 형태이다.
도커 컨테이너 Linux 커널과 주변부분의 분리
컨테이너 안에는 '리눅스의 주변부분'이 들어있다. 엄밀히 비어있는 컨테이너는 사실 비어있지 않는 상태라고 볼 수 있다.
도커엔진 밑에 있는 리눅스는 '커널'이 들어있다. 주변부분으로부터 명령을 전달받고 커널에 전달받는 구조로 되어있다.
컨테이너 내부에 커널이 존재하는것이 비효율적이기 때문에 오른쪽과 같은 구조로 존재하게 된다.
도커 허브와 이미지
이미지는 컨테이너를 만드는데 사용된다. 심지어 역으로 컨테이너로 이미지를 만들수 있다!
도커 컨테이너의 가장 강력한 장점으로, 만들어둔 이미지를 통해 같은 컨테이너를 생성할 수 있다.
이러한 도커 이미지를 바닥부터 만들 필요 없이 '도커 허브'에서 공개된 이미지를 가지고와서 컨테이너를 만들 수 있다.
컨테이너는 다향한 형태로 조합이 가능하다. 도커를 사용할 때 '한 컨테이너에 한 프로그램' 원칙이 존재한다. 이는 보안 및 유지 관리 측면에서 유리하기에 많이 쓰이는 정책이다.
가령, 워드프레스를 구축할 때 (웹서버 - NGINX / Apache , DBMS - MySQL / PostgreSQL, 워드프레스) 다양한 구성이 가능하다.
이를 별도의 컨테이너로 구성할 수 있지만, 한 컨테이너에 모두 넣을 수도 있다.
도커 컨테이너의 생애주기 / 도커에서의 데이터 저장
도커 컨테이너는 '쓰고 버리는' 일회용품에 가깝다. 오래된 컨테이너를 계속 사용하기 보다는 업데이트된 소프트웨어를 사용한다.
컨테이너를 폐기하더라도 데이터를 저장하기 위해 '도커가 설치된 물리적 서버의 디스크를 마운트' 한다.
나중에 이야기하겠지만 볼륨을 마운트하는 방법에는 컨테이너 외부에 저장하는 방법과 내부에 저장하는 방법으로 구분된다.
'Docker' 카테고리의 다른 글
왜 도커이미지를 Linux Alpine으로 쓸까? (0) | 2023.08.30 |
---|---|
[Docker] 도커에 대해 알아보자! (2) | 2023.08.30 |