Docker Machine
docker machine은 일종의 vm같이 도커를 mac, window 등 다른 (오래된) 환경에서도 동일하게 띄울 수 있게 도와준다.
Install docker machine
여기(도커머신 홈페이지)에서 설치 방법을 참고해서 설치 가능하다.
1. (당연한 얘기겠지만) Docker를 설치해준다.
2. 자신의 OS에 맞게 docker machine binary를 PATH에 설치해준다.
macOS의 경우
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \
chmod +x /usr/local/bin/docker-machine
Linux의 경우
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
Windows의 경우(Git BASH를 사용할 경우)
$ if [[ ! -d "$HOME/bin" ]]; then mkdir -p "$HOME/bin"; fi && \
curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" && \
chmod +x "$HOME/bin/docker-machine.exe"
Basic commands
docker-machine ls
로 현재 docker-machine을 볼 수 있다.
$docker-machine --help
$docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Saved Unknown
dev - virtualbox Stopped Unknown
docker-machine 만들기
docker-machine create <machine_name>
로 만들면 된다.
# 3개의 machine을 만듦
$docker-machine create node1
$docker-machine create node2
$docker-machine create node3
# docker-machine을 살펴보면 모두 unactivate 되어있음
$docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Saved Unknown
dev - virtualbox Stopped Unknown
node1 - virtualbox Running tcp://192.168.99.100:2376 v17.09.1-ce
node2 - virtualbox Running tcp://192.168.99.101:2376 v17.09.1-ce
node3 - virtualbox Running tcp://192.168.99.102:2376 v17.09.1-ce
docker-machine 활성화시키기
docker-machine
을 활성화 시키려면 env에 4가지 종류의 DOCKER 변수를 설정해주면 된다. 아래의 4가지를 명령어를 통해 변수를 설정해 주면 되는데, 매우 귀찮은 작업이기 때문에 docker-machine
에서 쉬운 명령어를 제공해준다.
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.101:2376"
export DOCKER_CERT_PATH="/Users/seulchankim/.docker/machine/machines/node2"
export DOCKER_MACHINE_NAME="node2"
다음 명령어로 해당 docker-machine을 activate 할 수 있다. docker-machine env <machine_name>
명령어를 실행시키면 해당 명령어와 사용 방법이 나온다.
$docker-machine env node1
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/seulchankim/.docker/machine/machines/node1"
export DOCKER_MACHINE_NAME="node1"
# Run this command to configure your shell:
# eval $(docker-machine env node1)
이후 위에 나온 설명대로 command를 쳐주면 된다.
$eval $(docker-machine env node1)
다시 docker-machine ls
를 해보면 해당 node가 activate 되어 있는 것을 볼 수 있따.
$docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Saved Unknown
dev - virtualbox Stopped Unknown
node1 * virtualbox Running tcp://192.168.99.100:2376 v17.09.1-ce
node2 - virtualbox Running tcp://192.168.99.101:2376 v17.09.1-ce
node3 - virtualbox Running tcp://192.168.99.102:2376 v17.09.1-ce
docker-machine ip <machine_name>
으로 해당 machine의 ip를 확인할 수 있다.
$docker-machine ip node1
192.168.99.100
start/stop 명령어로 해당 machine을 키고 끌 수 있다.
$docker-machine stop
$docker-machine start
'backend > docker' 카테고리의 다른 글
Making django dev server with docker (0) | 2018.01.08 |
---|---|
docker swarm을 사용하여 3개의 node 만들어보기 (swarm example) (0) | 2017.12.26 |
docker - swarm 기초 사용법 및 개념 (0) | 2017.12.22 |
docker compose 기초 사용법 (0) | 2017.12.21 |
Docker hub에 만들어진 image 올리기 (0) | 2017.12.21 |