Docker 사용법 #1 (Docker 소개)

 

Docker란

Docker는 Linux 컨테이너를 빠르고 안정적으로 사용할 수 있게 하는 소프트웨어 플랫폼입니다. Docker를 사용하면 컨테이너를 매우 가벼운 가상 머신처럼 다룰 수 있습니다. 또한 컨테이너를 구축, 배포, 복사하고 한 환경에서 다른 환경으로 이동하는 등 유연하게 사용할 수 있습니다.

 

가상 머신 ≠ 컨테이너

컨테이너와 가상 머신(VM) 둘 다, 여러 IT 요소를 결합해 시스템의 나머지 부분으로부터 격리하는 컴퓨팅 환경이라는 부분에서는 동일합니다. 다만, 가상 머신은 자체 커널을 포함한 완전한 운영 체제를 독립적으로 실행하는 구조인데 반해 컨테이너는 사용자 모드에서 실행되는 애플리케이션과 API 및 라이브러리만 포함합니다.

 

 

 

컨테이너 기술의 장점

컨테이너는 특성 상 작고 가벼워 마이크로 서비스, 클라우드 애플리케이션을 배포하기에 이상적인 도구입니다. 무엇보다도 대세가 가상 머신에서 컨테이너로 넘어가는 주된 이유는 다름 아님 '속도'면의 우수함입니다.

  • 개발 빠르지...
  • 빌드 빠르지...
  • 테스트 빠르지...
  • 배포 빠르지...
  • 버전 관리 빠르지...

 

가령, VM의 경우 새 운영 체제 버전을 설치하려면 업그레이드가 필요하거나 경우에 따라 완전히 새로운 VM을 만들어야 합니다. 이렇게 하면 시간이 오래 걸리며, 특히 VM 수가 많으면 매우 긴 시간이 걸립니다. 컨테이너를 사용하게 되면 최신 버전의 이미지를 가리키도록 컨테이너 이미지의 빌드 파일을 편집하고 빠르게 다시 배포할 수 있습니다.

 

Docker 용어 정리

  • 컨테이너(Container): 하드웨어 가상화 기술을 통해 실행되는 프로세스입니다.
  • 이미지 (Image): 실행될 컨테이너 모음환경 설정값, 의존 라이브러리 정보를 포함하고 있는 템플릿입니다. 
  • 레지스트리 (Registry): 도커 이미지를 관리하는 저장소입니다. 대표적으로 Docker hub가 이에 해당하며, 사용자가 원하는 이미지를 다운로드하거나, 개개인이 빌드한 이미지를 업로드하여 배포할 수도 있습니다.
반응형