Fork me on GitHub

Docker之Docker Machine基本介绍

介绍Docker Machine是什么以及怎么用

Docker Machine是什么?

官网资料:https://docs.docker.com/machine/overview/
Docker Machine是一个让你在虚拟主机上安装Docker Engine并使用docker-machine命令管理主机的工具。您可以使用计算机在本地Mac或Windows计算机上,公司网络,数据中心或云提供商(如Azure,AWS或Digital Ocean)上创建Docker主机。
使用docker-machine命令,您可以启动,检查,停止和重新启动托管主机,升级Docker客户端和守护程序,并配置Docker客户端以与您的主机通信。
将机器CLI指向正在运行的托管主机,并且可以docker 直接在该主机上运行命令。例如,运行docker-machine env default指向所调用的主机default,按照屏幕上的说明完成 env设置,然后运行docker ps,docker run hello-world等等。
Machine 是在Docker v1.12之前的Mac或Windows上运行Docker 的唯一方法。从测试版和Docker v1.12开始,Docker for Mac和Docker for Windows作为本地应用程序提供,并且是更新桌面和笔记本电脑上更好的选择。我们鼓励您尝试这些新的应用程序。Docker for Mac和Docker for Windows的安装程序包括Docker Machine和Docker Compose。

Docker Machine应用场景

You can use Docker Machine to:

  • Install and run Docker on Mac or Windows
  • Provision and manage multiple remote Docker hosts
  • Provision Swarm clusters

Docker Machine部署实践

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[root@linux-node9 ~]# wget https://download.virtualbox.org/virtualbox/5.2.6/VirtualBox-5.2-5.2.6_120293_el7-1.x86_64.rpm
[root@linux-node9 ~]# yum install -y SDL SDL-devel
[root@linux-node9 ~]# yum install -y libvpx libvpx-devel libvpx-utils
[root@linux-node9 ~]# yum install -y *libXmu*
[root@linux-node9 ~]# yum install -y libXcursor libXcursor-devel libXinerama libXinerama-devel fontconfig fontconfig-devel libpng libpng-devel
[root@linux-node9 ~]# rpm -ivh VirtualBox-5.2-5.2.6_120293_el7-1.x86_64.rpm
warning: VirtualBox-5.2-5.2.6_120293_el7-1.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 98ab5139: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:VirtualBox-5.2-5.2.6_120293_el7-1################################# [100%]

Creating group 'vboxusers'. VM users must be member of that group!
[root@linux-node9 ~]# curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 617 0 617 0 0 104 0 --:--:-- 0:00:05 --:--:-- 139
100 25.3M 100 25.3M 0 0 171k 0 0:02:31 0:02:31 --:--:-- 192k
[root@linux-node9 ~]# cd /tmp/
[root@linux-node9 tmp]# ll
total 25980
-rw-r--r-- 1 root root 26574656 Feb 2 02:35 docker-machine
-rw-r--r-- 1 root root 25009 Feb 2 02:30 vboxdrv-Module.symvers
[root@linux-node9 tmp]# sudo install /tmp/docker-machine /usr/local/bin/docker-machine
[root@linux-node9 tmp]# ls -al /usr/local/bin/docker-machine
[root@linux-node9 ~]# docker-machine create --driver virtualbox myvm1
Running pre-create checks...
(myvm1) Image cache directory does not exist, creating it at /root/.docker/machine/cache...
(myvm1) No default Boot2Docker ISO found locally, downloading the latest release...
(myvm1) Latest release for github.com/boot2docker/boot2docker is v18.01.0-ce
(myvm1) Downloading /root/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v18.01.0-ce/boot2docker.iso...
(myvm1) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(myvm1) Unable to get the latest Boot2Docker ISO release version: Get https://api.github.com/repos/boot2docker/boot2docker/releases/latest: EOF
(myvm1) Copying /root/.docker/machine/cache/boot2docker.iso to /root/.docker/machine/machines/myvm1/boot2docker.iso...
(myvm1) Creating VirtualBox VM...
(myvm1) Creating SSH key...
(myvm1) Starting the VM...
(myvm1) Check network to re-create if needed...
(myvm1) Found a new host-only adapter: "vboxnet0"
(myvm1) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env myvm1
[root@linux-node9 ~]# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 - virtualbox Running tcp://192.168.99.100:2376 v18.01.0-ce
myvm2 - virtualbox Running tcp://192.168.99.101:2376 v18.01.0-ce
[root@linux-node9 ~]# docker-machine ssh myvm1
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 18.01.0-ce, build HEAD : 0bb7bbd - Thu Jan 11 16:32:39 UTC 2018
Docker version 18.01.0-ce, build 03596f5
docker@myvm1:~$ docker version
Client:
Version: 18.01.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: 03596f5
Built: Wed Jan 10 20:05:20 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm

Server:
Engine:
Version: 18.01.0-ce
API version: 1.35 (minimum version 1.12)
Go version: go1.9.2
Git commit: 03596f5
Built: Wed Jan 10 20:13:12 2018
OS/Arch: linux/amd64
Experimental: false

参考资料

https://docs.docker.com/machine/overview/

======================================================
希望各位朋友支持一下

本文作者:dongsheng
本文地址https://mds1455975151.github.io/archives/f6767e5c.html
版权声明:转载请注明出处!

坚持技术分享,您的支持将鼓励我继续创作!