데이터센터프로그래밍11

11-Docker Machine

🔴 1. Docker Machine 이란? (1)

  • 전에는 single machine에서 도커와 상호작용하였지만, 동시에 여러대의 컴퓨터로 작업하는 것이 필요함
  • 즉, 내가 가진 컴퓨터와 클라우드 서비스의 상호작용으로 여러대의 컴퓨터를 동시에 작업하는 것이 필요함(한대의 컴퓨터에서 돌아가는 컨테이너들을 여러개의 컴퓨터에서 돌아가도록 뿌리는 것)

🔴 1. Docker Machine 이란? (2)

  • 가상 host에 docker engine을 설치하고, docker-machine 명령으로 호스트를 관리하기 위한 도구
  • 가상 호스트에 docker engine을 설치하고 docker-machine 명령으로 호스트를 관리함
  • 로컬 Mac or Windows box, 회사 네트워크, 데이터 센터 or 클라우드 공급자에 도커 호스트 생성
    🙂 도커엔진을 설치할 수 있고, 원격으로 다른 컴퓨터에 접속하여 컨테이너 작업을 그 위에서 사용 할 수 있음

🔴 1. Docker Machine 이란? (3)

  • docker-machine 명령을 사용하여
    : managed host를 restart & start, inspect, stop
    : docker client & daemon을 upgrade
    : host와 통신하도록 docker client 구성
  • 실행중인 managed host에서 machine cLI를 가리키면, 해당 host에서 직접 도커 명령을 실행 할 수 있음
    🙂 자신에게 필요한 원격 컴퓨터를 restart & start, inspect, stop하는 작업들을 서브 command를 통해 쉽게 수행할 수 있음

🟠 2. Docker Machine을 사용하는 이유?

  • 이전에... 한 대의 컴퓨터에서 도커 실행 및 그 위에 strage를 실행했었는데, 그 위에 무언가 또 있다면? 데스크탑, 노트북 따로 따로 일하면 힘들기 때문에 지금 사용하는 host machine에서 다른컴퓨터도 실행할 수 있는 명령어임
    ex. 집에서 놀고 있는 컴퓨터들을 아마존 등의 클라우드 컴퓨터 위에 원격으로 접속해서 편하게 원격지에 있는 컴퓨터 위에서 컨테이너로 작업이 가능함

🟡 3. Docker Engine again

🟡 3. Docker Machine to Docker Engine

  • 추가적으로 VirtualBox 필요

🟢 4-1. DOCKER Machine Commands

# help
docker-machine --help
# version check
docker-machine --version
docker-machine version
# list docker machine
docker-machine ls

🟢 4-2. DOCKER Machine

# Commands
docker-machine create --driver virtualbox myvm1
# Stop & Remove Docker Machine
docker-machine stop myvm1
docker-machine start myvm1
docker-machine rm myvm1

# Re-create Docker Machine as default
docker-machine create --driver virtualbox default
docker-machine ip
docker-machine version
# inspect docker machine
docker-machine inspect default

# execute job inside docker machine
docker-machine ssh {machine ID} {job to do}
docker run busybox echo hello world
docker-machine ssh default docker run busybox echo hello world
# execute job inside docker machine
docker-machine ssh default docker run -d -p 4000:80 nginx

# connect local shell to docker machine
docker-machine env default
  • 도커 명령은 도커 머신 내에서 실행됨
  • "-"는 기본 machine이 아니며, "*"기본 machine임
# disconnect local shell from docker machine
eval $(docker-machine env -u)

® Docker Machine install 참고
: https://github.com/docker/machine/releases
: sudo apt install virtualbox

좋은 웹페이지 즐겨찾기