- 도커의 구조
- 일반적인 서버라면 운영체제 위에 프로그램이나 데이터가 직접 올라간다.
도커를 사용하는 경우 운영체제 위에 도커 엔진이 동작하고 그 위에서 컨테이너가 동작한다.
- 컨테이너 구조에서, 모든 컨테이너에는 '리눅스 운영체제 비슷한 무언가' 가 들어 있다.
- 도커 엔진 아래에도 리눅스 운영체제가 있는데, 컨테이너 속에 또 리눅스 운영체제(비슷한 것)가 있다.
- 운영체제가 하는 일?
- 운영체제는 소프트웨어나 프로그램의 명령을 하드웨어에 전달하는 역할을 한다.
예를 들어, 사람 : "귤을 먹어라" → 어려움 없이 명령 수행
하드웨어 : "테이블 오른쪽 상단에 위치한 귤을 손에 쥐고 껍질을 벗겨 알맹이를 먹어라" → 구체적인 지시가 필요 (운영체제가 할 일)
- '커널' 과 '그 외의 주변 부분' 으로 구성된다.
- 구조 비교
* 일반적인 리눅스 컴퓨터
소프트웨어 → 주변 부분 (within 커널) → 하드웨어
* 도커
컨테이너 [ 도커 (within 소프트웨어 → 리눅스의 주변 부분) ]→ 도커 엔진 → 커널 → 하드웨어
2. 이미지와 컨테이너
- 컨테이너를 생성하기 위해 먼저 이미지를 만들어야 한다.
- 이미지는 컨테이너를 찍어내는 '빵틀'과 같은 역할로, 컨테이너의 설계도 역할을 한다.
- 우리가 실제 사용하는 것은 컨테이너이며 이미지를 그대로 사용하지 않는다.
- 초보자가 이미지를 밑바닥부터 만들 일은 거의 없다.
도커 허브 : https://hub.docker.com
여기서 공개된 이미지를 사용하면 된다.
3. 도커 컨테이너의 생애주기와 데이터 저장
- 컨테이너의 생애주기
- 도커 컨테이너는 '오랫동안 아껴 쓰는' 물건이 아닌 '그때 그때 쓰고 버리는' 일회용품에 가깝다.
- '만들고', '실행하고', '종료하고', '폐기한' 다음, 다시 컨테이너를 '만드는' 일련의 과정을 컨테이너의 생애주기라고 한다.
- 데이터 저장
- 폐기한 컨테이너의 데이터는 물론 삭제된다.
- 이를 방지하기 위해 보통은 도커가 설치된 물리적 서버(호스트)의 디스크를 마운트해 이 디스크에 저장한다.
4. 도커의 장단점
- 장점
- 한 대의 물리 서버에 여러 대의 서버를 띄울 수 있다.
- 서버 관리가 용이하다.
- 서버 고수가 아니어도 다루기 쉽다.
- 단점
- 리눅스 운영체제를 사용하는 기술이라 리눅스용 소프트웨어밖에 지원하지 않는다.
- 물리 서버 한 대에 여러 대의 서버를 띄우므로 호스트 서버에 문제가 생기면 모든 컨테이너에 영향을 미친다.
- 컨테이너 하나를 장기간에 걸쳐 사용할 때는 그리 큰 장점을 느끼기 어렵다.
'개발환경 > Docker' 카테고리의 다른 글
[Docker] 대표적 명령어 (0) | 2022.09.27 |
---|---|
[Dokcer] 컨테이너의 기본적 사용 (0) | 2022.09.01 |
[docker] 도커 설치 및 오류 (2) | 2022.07.26 |
[docker] 도커의 정의 (0) | 2022.07.18 |