English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Docker 아키텍처

Docker는 세 가지 기본 개념을 포함합니다:

  • 이미지(Image):Docker 이미지(Image)는 root 파일 시스템과 같습니다. 예를 들어 공식 이미지 ubuntu:16.04 Ubuntu의 전체 패키지가 포함되어 있습니다.16.04 최소 시스템의 root 파일 시스템.

  • 컨테이너(Container):이미지(Image)와 컨테이너(Container)의 관계는 객체 지향 프로그래밍에서 클래스와 인스턴스의 관계와 같습니다. 이미지는 정적 정의이며, 컨테이너는 이미지가 실행될 때의 실체입니다. 컨테이너는 생성, 시작, 중지, 제거, 일시정지 등이 가능합니다.

  • 리포지토리(Repository):리포지토리는 코드 컨트롤 센터로, 이미지를 저장하는 데 사용됩니다.

Docker는 클라이언트를 사용합니다-서버 (C/S) 아키텍처 패턴을 사용하여 원격 API를 통해 Docker 컨테이너를 관리하고 생성합니다.

Docker 컨테이너는 Docker 이미지를 통해 생성됩니다.

컨테이너와 이미지의 관계는 객체 지향 프로그래밍에서 객체와 클래스의 관계와 유사합니다.

Docker객체 지향적
컨테이너객체
이미지클래스

개념설명

Docker 이미지(Images)

Docker 이미지는 Docker 컨테이너를 생성하기 위한 템플릿으로, 예를 들어 Ubuntu 시스템과 같습니다.

Docker 컨테이너(Container)

컨테이너는 독립적으로 실행되는 하나나 여러 개의 애플리케이션으로, 이미지가 실행될 때의 실체입니다.

Docker 클라이언트(Client)

Docker 클라이언트는 명령 프롬프트나 다른 도구를 통해 Docker SDK를 사용하여 Docker 클라이언트를 사용합니다.https://docs.docker.com/develop/sdk/)은 Docker 데몬 프로세스와의 통신을 합니다.

Docker 호스트(Host)

Docker 데몬 프로세스와 컨테이너를 실행하는 물리적이거나 가상의 기계

Docker Registry

Docker 저장소는 이미지를 저장하는 데 사용되며, 코드 컨트롤에서의 코드 저장소와 유사합니다.

Docker Hub(https://hub.docker.com)는 사용하기 위한 광범위한 이미지 셋을 제공합니다.

한 Docker Registry는 여러 저장소(Repository)를 포함할 수 있으며, 각 저장소는 여러 태그(Tag)를 포함할 수 있습니다. 각 태그는 하나의 이미지에 대응합니다.

보통, 저장소는 동일한 소프트웨어의 다른 버전의 이미지를 포함하고 있으며, 태그는 해당 소프트웨어의 각 버전에 사용됩니다. < 저장소 이름 >:< 태그 > 형식으로 특정 소프트웨어의哪个版本的镜像를 지정할 수 있습니다. 태그를 지정하지 않으면 기본적으로 latest 기본 태그로 사용됩니다.

Docker Machine

Docker Machine는 Docker 설치를 간소화하는 명령어行도구로, 간단한 명령어 하나로 해당 플랫폼에 Docker를 설치할 수 있습니다. 예를 들어 VirtualBox, Digital Ocean, Microsoft Azure와 같은 플랫폼입니다.