Docker

2022년 4월 21일 수정

도커는 정석적인 설명으론 컨테이너 기반 가상화 플랫폼이라고 소개하곤 한다. 물론 이 말 만으론 뭔 소리인지 감이 안 온다. 가상으로 OS 수준까지 샌드박스를 만들어 주는 것처럼 보이지만 실제로 프로세스 격리라는 더 특이한 기능을 제공한다고 볼 수 있다.

다만 완벽한 프로세스 격리는 아직은 리눅스에서만 제공되고 macOS에서는 HyperKit과 virtualbox를 이용한 가상화로 동작한다.

개인적으로 개발 단계나 서비스 단계에서 자주 사용하지만, 특정 유틸리티나 서비스를 직접 설치하지 않고 사용하기 위해서도 종종 사용한다.

설치하기(macOS)

구글에서 🌏Docker Desktop을 검색해서 공식 사이트를 찾아서 다운로드 받아서 설치하자.

혹은 Homebrew Cask로도 설치가 가능하다.

brew cask install docker

이미지(image)

도커 용어로 이미지는 실제로 실행시킬 프로그램이나 환경을 특정한 방식으로 만들어 놓은 것을 의미한다.

Dockerfile을 작성하여 이미지를 직접 만들 수도 있다.

컨테이너(container)

도커 용어로 컨테이너란 이미지를 실제로 실행시킨 인스턴스다.

데몬이나 서비스가 돌고 있는 것과 비슷하게 생각할 수 있겠지만 OS의 환경도 비슷하게 돌고 있는 상태라 같다고 하기엔 무리가 있긴 하다.

Docker Desktop 유료화

Docker에서 직원 250명 이상의 기업을 대상으로 Docker Desktop을 유료화 한다고 한다. 이에 따라 여러 대안이 거론되고 있다. 주로 macOS에 한정된 내용임에 주의하자.

적당히 시작하기 좋은 이미지들

debian:buster
일단 이 글을 쓰는 시점에서 가장 최신의 LTS 데비안 이미지…인지는 잘 모르겠지만 하여간 그나마 패키지가 최신이다.
python:3.x-slim
Python 3.x 버전 대의 작은 이미지다. 빌드를 하려면 추가 패키지 설치가 필요하지만 apt-get이 있으므로 안심😋
alpine
그냥 썰렁한 리눅스다. apt도 없다. 매우 작은 이미지를 만들 거라면 베이스 이미지로 적당할 것 같다.