[TIL] 52. Docker

김지수·2024년 7월 8일

TIL

목록 보기
53/53

Docker


컨테이너 기반 가상화 플랫폼으로 애플리케이션을 더 쉽게 개발, 배포, 실행할 수 있도록 도와주는 도구이다.

1. 도커 컨테이너

도커는 컨테이너 기반 가상화 기술을 사용합니다. 컨테이너는 격리된 환경에서 애플리케이션과 그 종속성을 패키징하고 실행하는 방법을 제공합니다. 각 컨테이너는 호스트의 운영 체제 커널을 공유하며, 격리된 프로세스 공간을 제공받습니다.

2. 도커 이미지

도커 이미지는 컨테이너를 실행하기 위한 읽기 전용 템플릿입니다. 이미지는 파일 시스템의 내용과 실행할 애플리케이션 설정, 종속성 등을 포함합니다. 도커 이미지는 여러 층(layer)으로 구성되어 있으며, 이는 변경 가능성과 재사용성을 높이는 데 도움을 줍니다.

3. 도커 허브

도커 허브(Docker Hub)는 도커 이미지를 저장하고 관리할 수 있는 공식적인 저장소입니다. 허브는 다양한 공개 및 개인 이미지를 제공하며, 커뮤니티와의 공유와 협업을 촉진합니다.

4. 도코의 주요 장점

일관성 있는 환경

개발 환경, 테스트 환경, 프로덕션 환경 등을 동일한 컨테이너 이미지로 유지할 수 있어서 일관성 있는 배포를 보장합니다.

경량화

가상 머신보다 리소스 소비가 적습니다.

빠른 배포

컨테이너 이미지를 사용하여 더 빠르게 애플리케이션을 배포할 수 있습니다.

스케일링

필요에 따라 더 쉽게 확장할 수 있습니다.

유연성

다양한 언어 및 프레임워크 지원.

5. 도커의 사용 사례

마이크로서비스 아키텍처

각 서비스를 독립적으로 패키징하고 배포할 수 있습니다.

CI/CD 파이프라인

도커를 사용하여 빌드, 테스트, 배포 프로세스를 자동화할 수 있습니다.

로컬 개발 환경

개발 환경을 도커 컨테이너로 구성하여 개발자 간의 환경 일치 문제를 해결할 수 있습니다.

6. 도커의 구성 요소

도커 엔진

컨테이너를 생성하고 관리하는 핵심 엔진입니다.

도커 클라이언트

사용자가 도커 엔진과 상호작용하기 위한 CLI 도구입니다.

도커 데몬

백그라운드에서 컨테이너를 관리하는 프로세스입니다.

7. 기타 도커 관련 도구

도커는 다양한 관련 도구들을 지원하여 개발 및 운영 과정을 보다 효율적으로 만들어줍니다. 예를 들어, 도커 컴포즈(Docker Compose)는 여러 개의 컨테이너를 정의하고 실행하기 위한 도구이며, 도커 스웜(Docker Swarm)은 여러 호스트에서 도커 컨테이너를 조정하고 스케일링하는 도구입니다.

도커는 현재 매우 널리 사용되는 기술로, 클라우드 네이티브 환경부터 온프레미스 환경까지 다양한 환경에서 활용된다.



오늘의 회고


오늘은 새로운 기술 도커에 학습하는데 집중했다. 강의만 보고 따라하는데 급급했던 것 같다. 내일부터는 좀 더 집중해야겠다.

profile
서툴고 부족한 점이 많지만, 배우고 발전하며 성장하기 위해 노력하겠습니다.

0개의 댓글