본문 바로가기

Container/Docker

20. Docker Machine

 
Docker Machine
 
Docker Machine 은 Docker Engine을 사용자 로컬 머신이 아닌 
 
클라우드 컴퓨터, VM 을 비롯한 원격지의 서버에 설치할 수 있도록 돕는 도구이다.
 
1. Docker Engine이있는 호스트를 프로비저닝하고 관리하기위한 도구이다.
 
2. 일반적으로 로컬 시스템에 Docker Machine을 설치하고  
 
원격지 서버에는 Docker Engine 을 설치하고 로컬과 통신한다.
 
 
 
 
즉 이 도구는 Virtual Machine 에 Docker 를 설치하고 이와 쉽게 통신하게 하는 프로그램이다.
 
Docker Machine 은 결국 VM 에 Docker 를 설치하고 이를 원격으로 제어해 주는 개념이다.
 
그럼 지금부터 Docker Machine 을 어떻게 사용할 수 있는지 살펴보기 위해
 
Docker Window 버전을 설치해서 실제 Virtual Machine 과
 
Docker Machine 이 연동되어 돌아가는 것을 확인해 보자.
 
 
 
Windows 에서 Docker 설치하기
 
https://store.docker.com 에 들어가서 Community Edition 을 선택한 다음
 
Docker Community Edition For Windows 로 들어가서 
 
Windows 10 Professional 인 경우 그냥 인스톨 파일을 받고
 
아닌 경우 Docker Toolbox 를 받아야 한다.
 
옵션은 디폴트를 그냥 사용하면 된다.
 
 
Check Result
 
설치가 끝나고 아래와 같은 화면이 보이면 성공이다.
 
기본적으로 VirtualBox 를 내부적으로 설치하기 때문에 default machine 의 IP 를 할당해 준다.
 
 
실제로 VirtualBox 를 검색하면 특정 버전의 VirtualBox 가 설치된 것을 확인할 수 있고 띄워보면
 
아래와 같이 default 라는 Virtual Machine 이 생성되어 실행중인 것을 확인할 수 있다.
 
필요에 따라 할당된 리소스를 좀 더 줘서 사용하면 된다.
 
 
Booting
 
재부팅은 docker-machine start 를 타이핑해서 실행시켜야 한다.
 
$ docker-machine start
 
 
Envirionemnt Registration
 
그리고 생성된 Machine 이름인 default 를 이용해 docker-machine env 명령을 실행시킨다.
 
docker-machine env default
 
그러면 맨 아래 Run this command .... 이라는 부분이 있는데 여기 나오는 Command 를 실행시켜 준다.
 
 
일단 최초 노드인 Default 에도 Docker Engine 이 설치되어 있다.
 
그리고 Docker Machine 은 Demon 으로 설치되어 있다.
 
 
Create Node
 
그리고 Docker machine 의 create 명령을 통해 확장한 경우
 
해당 이미지에 Docker 엔진이 설치되어 있는지 확인해보자.
 
docker-machine create node1
docker-machine ssh node1
$ docker-version

 

 
 
Environment Registration
 
그리고 생성된 Machine 이름인 node1 를 이용해 docker-machine env 명령을 실행시킨다.
 
docker-machine env node1
 
마찬가지로 맨 아래 Run this command .... 이라는 부분이 있는데 여기 나오는 Command 를 실행시켜 준다.
 
 
Result
 
이와 같이 VM 에 설치된 이미지에 Docker Engine 이 설치되었고 ssh 명령으로 간단히 접근 가능한 것을 확인하였다.
 
이와 같이 이 Docker Machine 을 사용하면 따로 서버를 만들지 않아도
 
가상 이미지를 이용한 Docker 클러스터링 도구를 사용해 볼 수 있다.
 
 

'Container > Docker' 카테고리의 다른 글

22. Docker Build Pipeline  (0) 2020.01.14
21. Docker CLI Dashboard  (0) 2020.01.14
19. Docker Private Registy  (0) 2020.01.14
18. Docker Security  (0) 2020.01.14
17. Docker Volume  (0) 2020.01.14