DevOps/그림으로 이해하는 가상화와 컨테이너

4. 컨테이너형 가상화 소프트웨어, 도커

우드의개발개발 2024. 8. 14. 10:32


4.1  도커: 사실상 컨테이너 기술의 표준

 

 

요약

  • 도커는 컨테이너를 실행하거나 이미지를 만들고 배포하는 플랫폼이다.

 

4.2  도커가 주목받는 이유: 도커의 역사와 발전을 되돌아보자

 

요약

  • 도커는 컨테이너화한 애플리케이션을 위한 플랫폼으로, 사실상 업계의 표준이 되었다.
  • 도커는 온프레미스에서 클라우드로 쉽게 마이그레이션 할 수 있다는 이식성뿐만 아니라 가용성과 확장성이 높은 애플리케이션을 개발하기 쉽다고 평가 받았다.

 

4.3  도커 컨테이너: 외부 영향을 받지 않는 독립된 환경

요약

  • 컨테이너는 운영체제에서 실행되는 프로세스다.
  • 네임스페이스의 원리에 따라 컨테이너가 외부와 격리된다.
  • 컨테이너는 운영 체제를 공유하기 때문에 운영 체제 버전이나 호환성에 따라 제대로 동작하지 않을 수 있다.

 

4.4  컨테이너 이미지: 컨테이너를 실행하기 위한 템플릿 

요약

  • 컨테이너 이미지는 컨테이너를 실행하기 위한 템플릿이다.
  • 컨테이너 이미지에는 컨테이너를 실행하는데 필요한 파일 시스템이 포함되어 있다.
  • 컨테이너 이미지는 컨테이너 생성 절차를 설명하는 도커 파일을 사용해 자동으로 생성되는 경우가 많다.
  • 컨테이너 이미지는 컨테이너 레지스트리라는 컨테이너 이미지의 저장 장소를 통해 배포된다.

 

4.5  컨테이너 라이프 사이클: 컨테이너 생성에서 삭제까지

요약

  • 라이프 사이클은 컨테이너가 생성된 후 삭제될 때까지의 상태 흐름이다.
  • 컨테이너는 생성, 실행, 정지, 일시 정지, 삭제 상태를 취할 수 있다.
  • 컨테이너 상태는 도커 명령어의 실행으로 변경된다.

 

4.6  도커 데몬: 도커 엔진을 지원하는 가장 중요한 요소

요약

  • 도커 데몬은 도커 클라이언트의 요청에 따라 도커 객체를 관리한다.
  • 도커 객체는 도커 데몬의 관리 대상이며 컨테이너 및 컨테이너 이미지를 포함한다.
  • 도커 데몬은 도커  클라이언트의 요청을 수락하기 위한 API가 있다.

 

4.7  컨테이너와 프로세스: 프로세스별로 컨테이너 나누기

볼륨과 바인드 마운트의 차이

요약

  • 도커는 프로세스별로 컨테이너를 분리하는 것을 추천한다.
  • 볼륨은 컨테이너가 읽고 쓰는 데이터를 지속화하기 위한 방법이다.
  • 볼륨을 사용하면 여러 컨테이너에서 파일 시스템을 공유할 수 있다.

 

4.8  네임스페이스: 작업 공간을 분리하는 방법

요약

  • 네임스페이스 내부 프로세스가 외부 프로세스와 격리된 것처럼 보이는 방식이다.
  • 도커는 네임스페이스의 작동 방식을 사용해 컨테이너를 다른 컨테이너와 격리한다.
  • 컨트롤 그룹은 컨테이너가 하드웨어 리소스 사용량을 제한하는 방법이다.

 

4.9  차분관리: 도커의 빠른 배포를 지원하는 방법

요약

  • 차분 관리는 기준과의 차이점을 기록하고 변경을 관리하는 방법이다.
  • 컨테이너 이미지에 포함된 파일 시스템은 직전과의 차이를 기록하는 여러 레이어로 구성된다.
  • 차분 관리 덕분에 시작할 때 복사할 필요가 없으므로 빠르게 배포할 수 있다.

 

4.10  스웜 모드: 클러스터를 관리하는 기능

요약

  • 스웜 모드는 도커 엔진에 설치된 클러스터 관리 기능이다.
  • 도커의 클러스터 관리/오케스트레이션은 이제 쿠버네티스가 주로 맡게 될 것이다.

 

4.11  도커의 주요 명령어: 필수 명령어 소개

요약

  • 도커에서 컨테이너 또는 컨테이너 이미지를 조작할 때 명령어를 사용한다.

 

4.12  도커 허브: 컨테이너 이미지를 공유할 수 있는 서비스

요약

  • 도커 허브는 도커가 제공하는 세계 최대의 컨테이너 레지스트리 서비스이다.
  • 컨테이너 레지스트리는 컨테이너 이미지를 저장하고 배포하는 두 가지 역할을 담당하는 도커의 구성 요소다.