Article

Docker 개요

1분
Docker 개요

🐋도커란?

Docker는 애플리케이션을 개발, 배포 및 실행하기 위한 오픈 소스 플랫폼입니다. 이 플랫폼은 애플리케이션을 컨테이너라는 표준화된 유닛으로 패키징하여, 개발 환경과 운영 환경 간의 일관성을 제공합니다

🐋주요 특징

  • 컨테이너 기술: Docker는 컨테이너를 사용하여 애플리케이션과 그 종속성을 격리된 환경에서 실행합니다.
  • 이식성: 컨테이너화된 애플리케이션은 다양한 환경에서 일관되게 실행될 수 있어 이식성이 뛰어납니다.
  • 리소스 효율성: 컨테이너는 호스트 운영 체제의 리소스를 공유하며, 별도의 게스트 OS를 필요로 하지 않아 가볍고 빠릅니다.
  • 빠른 배포: Docker를 사용하면 애플리케이션의 개발, 테스트, 배포 과정을 간소화하고 가속화할 수 있습니다.

🐋Docker 아키텍처

Docker는 클라이언트-서버 아키텍처를 사용한다.주요 구성요소는 위와 같이 세가지로 나뉜다. (위 사진은 도커 공식 사이트에서 아키텍처를 시각적으료 표현한 것인데, 항상 도커 컨테이너를 머리속으로 추상화하면서 위 그림을 떠올리곤 하는데 곱씹을수록? 유용한 자료로가 생각된다) 도커는 Client-Server 아키텍처를 사용하는데, 클라이언트는 ""도커 컨테이너를 구축, 실행 및 배포하는 무거운 작업을 수행하는"" 도커 데몬과 통신한다.도커 클라이언트와 데몬은 동일한 시스템 내에서 실행될 수 있고, 또는 도커 클라이언트를 원격 도커 데몬에 연결할 수도 있다.도커 클라이언트와 데몬은UNIX 소켓또는네트워크 인터페이스를 통해 REST API를 사용하여 통신한다. 그리고 도커 클라이언트는 ""도커 컴포즈""로 이를 통해 컨테이너 세트로 구성된 애플리케이션으로 작업할 수 있다.

이쯤에서 도커관련 용어들을 정리하자.

  1. Docker Daemon: Docker API요청을 처리하고 이미지, 컨테이너, 네트워크, 볼륨 등을 관리한다.
  2. Docker Client: 사용자가 Docker 명령어를 실행할 수 있는 인터페이스를 제공한다.
  3. Docker 엔진: 호스트 시스템에서 실행되는 핵심 소프트웨어로, 컨테이너 생성 및 관리를 담당한다.

현재로서는 추상화/가상화 관련된 다양한 용어들이 나와서 초심자 입장에서는 어렵게 느껴질 거이다. 하지만 이를 통해 아래와 같은 분야에서 요긴하게 써먹을 수 있다.

🐋사용사례

  1. 마이크로서비스 아키텍처(MS Architecture): 분산 애플리케이션 구축 및 확장에 사용된다.
  2. 지속적 통합 및 배포(CI/CD): 표준화된 환경을 제공하여 개발 및 베포 프로세스를 개선한다.
  3. 데이터 처리: 빅데이터 처리 시스템 구축에 활용된다.
smithsolution

댓글 0개