Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

forest_moon

Docker 와 Container 본문

Docker

Docker 와 Container

rokga 2023. 4. 13. 13:36

컨테이너란 ?

 

  • 가상화 기술중 하나이다
  • 호스트 운영체제 위에 컨테이너 엔진을 통해 여러 개의 격리된 환경을 생성한다
  • 각각의 컨테이너 안에서 애플리케이션을 실행한다
  • 리눅스의 커널 기능을 사용한다.
기능 역할
chroot 파일 시스템을 격리
namespace 프로세스를 격리 /  Isolate 기능 
cgroup 하드웨어 자원 격리
가상화 기술이란 하나의 물리적인 컴퓨터 자원(CPU , 메모리, 저장장칭 등)을 가상적으로 분할하여 여러 개의 가상 컴퓨터 환경을 만들어내는 기술이다. 이를 통해 물리적인 컴퓨터 자원을 더욱 효율적으로 사용할 수 있고, 서버나 애플리케이션 등을 운영하는데 있어 유연성과 안정성을 제공한다.

도커란 ?

  • 컨테이너를 기반으로한 가상화 도구
  • 리눅스 컨테이너 기술인 LXC(Linux Containers) 기반
  • 애플리케이션을 컨테이너라는 단위로 격리해 실행하고 배포하는 기술
  • 다양한 운영체제에서 사용할 수 있으며, 컨테이너화된 애플리케이션을 손쉽게 빌드,배포,관리할 수 있는 다양한 기능들을 제공한다
  • 고언어(Go)를 사용
  • 앱에서 인프라를 분석하여 신속하다
  • 컨테이너를 구축,배포,복사하여 다른환경에서도 유연하게 사용할 수 있다.
  • 도커(Docker) Immutable Infrastructure Paradigm이라는 개념을 기반으로 하기 때문에, 서비스 환경(서비스 인프라)부분을 이미지화(실행파일화)하여 배포한 뒤 가급적 변경하지 않고 사용한다.

도커의 특징

  • 가볍고 빠른 실행 속도과 쉬운 배포
  • 개발자들에게 편리한 클라이이언트 도구(Dockerfile, Docker cli, docker-compose)들을 많이제공
  • 컨테이너 이미지 생성 및 공유 가능 (도커 허브를 통해)
  • docker-compose라는 여러 Docker 컨테이너를 통합적으로 관리하는 cli 프로그램이 있어 컨테이너 구성에 용이하다

 

도커의 구조(Docker Architecture)

  • 도커는 서버-클라이언트 모델을 사용한다
  • 도커 클라이언트, 도커호스트, 네트워크 그리고 스토리지와 도커레지스트리(도커 허브) 로 구성되어있다
  • 도커 클라이언트는 컨테이너를 빌드,실행 배포하는 등의 작업을 수행하는 도커데몬과 통신을 한다
  • 도커의 클라이언트와 데몬은 동일한 시스템에서 실행이 되거나, 원격의 데몬 클라이언트를 연결할 수도 있다

 

도커 클라이언트(Docker Client)

  • 도커클라이언트는 사용자가 도커와 상호작용을 할 수 있도록 해준다
  • 도커 클라이언트는 호스트의 데몬과 연결할수 있고, 하나 이상의 데몬과도 소통할 수 있다 
  • CLI를 제공함으로써 애플리케이션의 빌드,실행,중지를 할 수 있는 커맨드를 데몬에 전달 할 수 있다
  • 도커 클라이언트의 주요 목적은 직접 레지스트리에서 이미지를 받아 호스트에 실행할 수 있게 하는 것

도커 호스트(Docker Host)

 

  • 애플리케이션을 실행하도록 환경을 제공하는 컴퓨터
  • 도커데몬,이미지,네트워크,스토리지,컨테이너로 구성

도커 데몬(Docker daemon  = dockerd)

  • 도커 엔진의 핵심 구성 요소
  • 도커 호스트에서 컨테이너를 관리하고 실행하는 역할
  • 컨테이너를 생성, 시작, 중지, 삭제하는 등의 작업을 수행
  • 컨테이너 이미지를 관리하고
  • 외부에서 이미지를 다운로드하고 빌드하는 작업을 수행

 

도커 오브젝트(Docker Objects) 

 

  • 도커 이미지(Docker Image)

이미지는 컨테이너를 빌드하기 위한 read-only 바이너리 파일

  • 도커 컨테이너(Container)

도커 이미지 기반으로 생성된 컨테이너는 실행가능한 도커 이미지의 인스턴스

사용자는 컨테이너를 Docker API를 통해 생성, 삭제, 수정, 이동할 수 있고, 하나 이상의 네트워크에 컨테이너를 연결할 수 있다.

 

도커 레지스트리(Docker Registries)

  • 도커 이미지(Docker Image)를 관리하고 저장하는 곳
  • Docker hun - 디폴트 레지스트리, 누구나 접근 가능한 개방형 저장소

 

'Docker' 카테고리의 다른 글

Docker로 컨테이너 실행시키기  (0) 2023.04.13