[원티드 챌린지 1/4] docker 알아가기

jaeyunim00·2023년 8월 3일
0

Cloud

목록 보기
1/8
post-thumbnail

docker란?

  • 오픈소스로 제공되는 컨테이너 기반 가상화 도구이다.
  • 어플리케이션을 컨테이너라는 단위로 격리하여 실행하고 배포하는 기술이다.

컨테이너란?

  • 컨테이너는 가상화 기술 중 하나이다.
  • 호스트 운영체제 위에 여러 개의 격리된 환경을 생성한다.
  • 각각의 컨테이너 안에서 애플리케이션을 실행한다.

하이퍼바이저가상화 vs 컨테이너 가상화

하이퍼바이저 가상화는 물리적인 서버에 하나 혹은 그 이상의 독립적인 운영체제가 돌아가는 구조이다.

HOST OS 위에 또다른 GUEST OS를 두어 운영하는 것이다.

이는 어플리케이션을 실행하는데 필요한 자원만 실행시키는 것이 아니라 독립적인 OS를 실행시키는 것이기 때문에 매우 무겁다.

이에 비해 컨테이너 가상화Container Engine을 통해 프로세스를 격리된 환경에서 별도의 OS없이 실행할 수 있게 하기 때문에 하이퍼바이저 가상화에 비해 매우 가볍고 빠르게 동작한다.

Docker Architecture

Client

  • 도커와 상호작용하며, cli명령을 입력하는 곳이다

Docker Host

  • 도커가 실행되는 호스트

Docker Demon

  • 도커 엔진의 핵심 구성 요소로, 도커 오브젝트를 관리한다
  • cli명령에 따라 이미지나 컨테이너를 생성하거나 삭제하는 일도 한다

도커 오브젝트

  • 도커 이미지: 도커 컨테이너를 만들기 위한 읽기 전용 템플릿
  • 도커 컨테이너: 애플리케이션을 실행하기 위한 모든 파일과 설정 정보를 포함하는 패키지

Registry

  • 미리 만들어져 있는 이미지나 정보들을 뜻한다
    ex) 도커 허브

Docker Network

Container Lifecycle

DockerFile


그림 출처

생활코딩: https://www.youtube.com/watch?v=AmSKD4p-jhw&t=42s

profile
IT Note

2개의 댓글

comment-user-thumbnail
2023년 8월 3일

잘 봤습니다. 좋은 글 감사합니다.

1개의 답글