Docker 개념 파헤치기

eungu·2022년 7월 13일
0

기본개념

목록 보기
1/2

Docker란?

애플리케이션을 패키징 할 수 있는 툴

Docker Container

  • 애플리케이션뿐만 아니라 node.js, dependencies 등등 애플리케이션 구동을 위한 모든것들이 담겨있음.
  • 어떤 pc에서든지 동일하게 작동함.
  • host os에서 컨테이너 엔지니어라는 소프트웨어만 설치하면 각각의 컨테이너를 고립된 환경에서 구동할 수 있게 해줌.
  • 컨테이너 구동을 위해서는 컨테이너 엔진이 필요함.-> 컨테이너 엔진 = 도커!

VM과 다른점은?

  • VM은 운영체제를 포함하고 있기때문에 굉장히 무겁고, 리소스를 많이 잡아먹음.
  • VM에서 경량화된 버전이 도커 컨테이너라고 생각하면 됨.


도커의 3가지 구성요소

도커파일 / 이미지 / 컨테이너

도커의 동작 방식은 컨테이너를 만들고 배포하고 구동!

도커파일

  • 컨테이너를 어떻게 만들지가 적힌 설명서
  • install dependencies
  • run setup scripts

이미지

  • 실행되고 있는 애플리케이션의 상태의 스냅샷.
  • 변경이 불가능한 불변 상태를 가지고 있음.
  • 객체지향에서는 클래스와 같은 역할.(템플릿)

container

  • 애플리케이션 이미지를 고립된 환경에서 실행할 수 있는 것.
  • 컨테이너 안에서 이미지를 통해 애플리케이션이 동작함.
  • 애플리케이션은 개별적으로 수정이 가능한 상태

Container Shipping

도커 이미지 배포하는 과정

로컬에서 이미지 생성 -> container registry 에 push & pull-> 필요한 서버나 다른 pc에서 실행하기.

public / private

  • public
    docker hub
    Github Packages
  • private (각 기업에서 주로 사용)
    AWS
    GoogleCloud
    Microsoft Azure

총정리

드림코딩 강의를 바탕으로 작성한 내용입니다.
출처 : https://www.youtube.com/watch?v=LXJhA3VWXFA

0개의 댓글