도커란 무엇인가

전종원·2022년 11월 4일
0

1. 도커란 무엇인가

1.1. docker란?

도커는 컨테이너 기술중 하나이다.
컨테이너는 프로젝트에 필요한 버전의 도구들을 모아둘 수 있으며 각각의 컨테이너들은 서로 격리될 수 있다. 또한 생성된 컨테이너들은 다양한 하드웨어에 베포할 수 있다. 즉, 프로젝트에 필요한 모든 환경을 독립된 공간에서 구현 가능하게 하며 이식성이 뛰어난 기술이 도커이다.

1.2. docker와 virtual machine의 차이는 무엇인가

virtual machine

사용자 OS 위에 가상의 OS를 만들어 그 안에서 필요한 라이브러리와 도구들을 구성하고 프로젝트를 진행한다. 컴퓨터 안에 새로운 작은 컴퓨터를 구성하는 것과 같다.

virtual machine의 단점

  • VM이 많아지면 오버헤드가 발생한다.
    • 메모리, CPU, 하드드라이브의 공간을 소모하므로 속도가 느려질 수 있다.
  • 원하는 모든 하드웨어에 VM 설정을 해주어야 한다.

1.3. Docker

도커는 사용자 운영체제 위에 Docker Engine을 사용하여 또 다른 OS를 emulationg 할 수 있다.
생성된 OS 위에 다수의 컨테이너를 생성해 각 컨테이너마다 서로 다른 프로젝트들을 할당할 수 있다.
VM에 운영체제를 설치하는 것보다 훨씬 가볍고 사용자 OS의 리소스를 적게 차지한다.
공유와 리빌딩, 배포가 용이하다.

2. Docker set-up

  • docker.com에 방문하여 각각의 OS에 요구조건을 확인한다.
  • Mac-OS와 Windows는 요구조건 충족 여부에 따라 설치하는 항목이 다르다.
  • Linux는 OS 자체가 도커엔진을 지원하기 때문에 직접 docker engine을 설치할 수 있다.

2.1. Windows

requirement

  • Windows 10 64-bit Pro, Enterprize, or Education(Home의 경우 별도의 설치법 존재)
  • Hyper-V and Containers Windows features must be enabled
  • more than 4GB RAM
  • BIOS-level hardware virtualization support(BIOS 내에서 설정 가능)

설치는 docs 참조

2.2. Linux

업데이트 및 http 패키지 설치

$ sudo apt update
$ sudo apt-get install -y ca-certificates \ 
    curl \
    software-properties-common \
    apt-transport-https \
    gnupg \
    lsb-release

GPG 키 저장소 추가

$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

docker engine 설치

$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io

0개의 댓글