01 도커란?

YeJI Kang·2021년 9월 9일
0
post-thumbnail

본 포스팅은 "시작하세요! 도커/쿠버네티스"를 읽고 정리한 글입니다.

도커는?
리눅스 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝트

Go언어로 작성되었으며 성능에 손실이 거의 없다는 특징을 가지고 있습니다.

1.1 가상 머신과 도커 컨테이너

우선, 가상 머신과 도커 컨테이너를 비교해봅시다.

https://gblobscdn.gitbook.com/assets%2F-M1TxO6lPQE2b5vWOIk9%2F-M1U9Pbm5zKP_maqE7_j%2F-M1UB2No2H2sWxm1YEXI%2Fimage.png?alt=media&token=a19d66a8-c0c2-46fb-a9ea-c51bfbe3e179

가상 머신(Virtual Machines)

하이퍼바이저에 의해 생성되고 관리되는 운영체제를 게스트 운영체제(Guest OS)라고 합니다.

각 게스트 운영체제는 완전히 독립된 공간과 시스템 자원을 할당받아 사용됩니다.

가상 머신의 단점은 아래와 같습니다.

  • 하이퍼바이저에 의해 독립된 공간을 생성하기 때문에 성능 손실이 있습니다.
  • 게스트 운영체제에 라이브러리, 커널을 모두 포함하기 때문에 배포하기 위한 이미지의 크기가 커집니다.

즉, 가상 머신은 완벽한 운영체제를 생성할 수 있지만, 일반 호스트에 비해 성능 손실이 있고, 배포하기에 부담스러울 수 있습니다.

도커 컨테이너(Docker Containers)

가상 머신에 대비한 도커 컨테이너의 장점은 아래와 같습니다.

  • 프로세스 단위로 격리 환경을 만들기 때문에 성능 손실이 거의 없습니다.
  • 커널은 호스트의 커널을 공유해 사용하고, 컨테이너 안에는 애플리케이션 구동하는데 필요한 라이브러리와 실행 파일만 존재하여 이미지의 크기가 가상 머신에 비해 작습니다.

즉, 배포 시간이 가상 머신에 비해 빠르고, 성능 손실이 거의 없다는 장점이 있습니다.

1.2 도커를 시작해야 하는 이유

  1. 애플리케이션의 개발과 배포가 편해집니다.
    • 독립된 개발 환경을 보장받을 수 있습니다.
    • '도커 이미지'를 만들어 운영 서버에 전달하기만 하면 됩니다.
    • 애플리케이션의 배포 속도가 매우 빨라집니다.
  2. 여러 애플리케이션의 독립성과 확장성이 높아집니다.
    • 여러 무돌에게 독립된 환경을 제공할 수 있기 때문에 마이크로서비스 구조에 적합합니다.

1.3 도커 엔진 설치

맥북을 사용하는 경우, 아래의 링크에서 도커를 다운받을 수 있습니다.

https://hub.docker.com/editions/community/docker-ce-desktop-mac

profile
재밌는 것만 하고 싶어 ʕ•ﻌ•ʔ

0개의 댓글