1. 개요

<Docker 가상 환경 구축 입문>의 <Chapter 5. Docker Machine을 사용하여 Docker용 가상머신을 작성하자>를 읽고 정리한 내용으로,

이번 문서의 내용은 Docker Machine에 대한 소개입니다.

 

2. Docker Machine이란

  • Docker Machine은 Docker 실행을 위한 가상 머신을 작성하거나 관리하기 위한 커맨드 라인 툴
  • 로컬 환경 뿐 아니라 클라우드 제공자(AWS, GCP) 서비스 상에도 Docker Host를 띄울 수 있음
  • 가상화 소프트웨어는 Mac의 경우 VirtualBox, Windows의 경우 Hyper-V를 사용

 

3. docker-machine 커맨드

  • docker-machine을 사용하여 간단히 Docker Host를 구축할 수 있음 
  • Docker Machine 목록 확인
     
    $ docker-machine ls
  • Docker Host 작성
     
    $ docker-machine create [Host명]
  • 조작 대상이 될 Docker Host 지정
     
    $ docker-machine env [Host명]
  • docker-machine으로 기동한 Docker Host로 컨테이너를 실행한 경우 컨테이너에 접속하기 위해 가상 머신의 IP 주소를 지정해야 함

 

4. AWS에 Docker Host 프로비저닝하기

  • Docker Machine을 사용하여 EC2 가상 머신을 작성하기 위해 사전에 액세스 키를 준비해야 함
  • Docker Machine을 사용할 때, AWS의 액세스 키를 사용하여 EC2의 인스턴스를 기동하여 Docker Host를 구축할 수 있음
  • EC2 상의 Docker Host도, 기존과 동일하게 Docker Machine의 커맨드로 컨테이너를 실행할 수 있음
     
  • docker-machine를 활용한 EC2 프로비저닝 커맨드
    $ docker-machine create \
     --driver amazonec2 \ 
     --amazonec2-open-port [포트번호] \
     --amazonec2-region [리전명] \
     --amazonec2-subnet-id [서브넷ID] \
     [Host명]
  • 필요 없는 인스턴스는 docker-machine rm 커맨드로 삭제하고 과금되지 않도록 주의