도커는 애플리케이션과 모든 종속성을 표준화된 컨테이너에 패키징할 수 있는 오픈 컨테이너화 플랫폼입니다.
도커가 설치된 모든 기기에서는 운영 체제에 상관없이 이미지를 컨테이너로 실행할 수 있습니다.
도커파일이란 무엇인가?
도커파일은 DSL을 사용하며 도커 이미지를 생성하기 위한 프로세스를 정의합니다. 애플리케이션을 생성할 때 도커파일을 작성해야 하며, 도커 데몬이 위에서 아래로 실행됩니다.
도커 데몬이란 도커 컨테이너를 관리하는 백그라운드 서비스입니다.
도커파일 실행 시 도커 이미지를 조립하는 데 필요한 명령어를 포함한 텍스트 문서입니다.
도커의 작동 방식
도커는 클라이언트 - 서버 아키텍처를 사용합니다. 도커 클라이언트는 도커 데몬과 통신하여 도커 컨테이너를 빌드, 실행 및 배포하는 데 도움을 줍니다. 도커 클라이언트는 데몬과 동일한 시스템에서 실행되거나 원격으로 연결할 수도 있습니다.
도커 이미지란
도커 이미지는 여러 레이어로 구성된 파일로 도커 컨테이너에서 코드를 실행하는 데 사용됩니다. 도커 이미지는 애플리케이션 실행에 필요한 모든 것을 포함한 실행 가능한 소프트웨어 패키지입니다. 이미지는 컨테이너가 어떻게 인스턴스화되는지 알려주며 어떤 구성 요소가 실행되고 어떻게 실행될지를 결정합니다.
도커 컨테이너란
도커 컨테이너는 이미지의 런타임 인스턴스입니다. 개발자가 라이브러리 및 기타 종속성과 같은 애플리케이션에 필요한 모든 부분을 패키징할 수 있게 합니다. 예를 들어 NGINX 서버가 있는 우분투 OS 이미지를 docker run 명령어로 실행하면 컨테이너가 생성되고 NGINX 서버가 우분투 OS에서 실행됩니다.
도커 Hub란
클라우드 기반 리포지토리 서비스입니다. 사람들이 도커 컨테이너 이미지를 업로드하고 언제든지 hub를 통해서 다운로드할 수 있습니다. 비공개 또는 공개 레지스트리로 푸시하여 저장할 수 있습니다.
도커 컴포즈(Compose)란
YAML 기반의 멀티 컨테이너 애플리케이션을 실행합니다. YAML 파일은 컨테이너 배포에 필요한 모든 구성을 포함합니다. 도커 컴포즈는 도커 Swarm과 통합되어 있으며 컨테이너를 빌드하고 배포하는 프로세스를 제공합니다. 도커 컴포즈를 사용하면 각 컨테이너가 단일 호스트에서 실행되도록 구성됩니다.
도커 데스크탑이란
도커 컨테이너, 이미지, 네트워크를 작업할 수 있는 GUI 애플리케이션입니다.
도커 엔진이란
컨테이너를 호스팅하는 소프트웨어입니다. 도커 엔진은 클라이언트 - 서버 애플리케이션입니다. 도커 엔진은 세 가지 주요 구성 요소로 이루어져 있습니다.
- 서버: 도커 이미지, 컨테이너, 네트워크 및 볼륨을 생성하고 관리하는 역할을 합니다. 데몬 프로세스로 불립니다.
- REST API: 애플리케이션이 서버와 상호작용하고 서버에 작업 지시를 내리는 방식을 정의합니다.
- 클라이언트: 도커 명령어를 사용하여 도커와 상호작용할 수 있게 하는 도커 명령 인터페이스(CLI)입니다.
도커 컨테이너와 가상 머신의 차이점
도커 컨테이너 | 가상 머신 |
애플리케이션 자체와 함께 바이너리, 라이브러리 및 구성 파일이 포함되어 있습니다. | VM은 하이퍼바이저에서 실행되므로 여러 가상 머신이 자체 운영 체제와 함께 단일 머신에서 실행됩니다. |
각 컨테이너에 대한 게스트 OS가 포함되어 있지 않으며 기본 OS 커널에 의존하므로 컨테이너가 가볍습니다. | 각 VM에는 자체 운영 체제 복사본이 있으므로 크기가 훨씬 커지고 더 많은 리소스가 필요합니다. |
동일한 호스트 OS의 다른 컨테이너와 리소스를 공유하고 OS 수준 프로세스 격리를 제공합니다. | 하드웨어 수준의 프로세스 격리를 제공하고 부팅속도가 느립니다. |
'Docker' 카테고리의 다른 글
[Docker] 도커에서 중요한 명령어 사용법 (0) | 2024.05.30 |
---|---|
[Docker] 도커 허브란 무엇인가? (0) | 2024.05.30 |
[Docker] 도커 아키텍처 (0) | 2024.05.30 |
[Docker] 도커의 특징 (0) | 2024.05.30 |
[Docker] 도커를 배워야 하는 이유 (0) | 2024.05.29 |