Docker Machine
Docker Machine
Docker machine 是docker 官方编排项目之一,它可以帮助我们在远程的机器上安装Docker,或者在虚拟机host上直接安装虚拟机并在虚拟机中安装Docker.我们还可以通过docker-machine命令来管理这些虚拟机和Docker。
使用
Docker Machine 支持多种后端驱动,包括虚拟机,本地主机和云平台。
创建本地主机实例
- VirtualBox驱动
使用virtualBox类型的驱动,创建一台Docker 主机,命名为test。
1 | docker-machine create -d virtualbox test //默认使用boot2docker的镜像创建虚拟机。 |
有下面一些可以加入的参数,来配置主机或者主机上的Docker。
1 | --engine-opt dns=114.114.114.114 配置Docker 的默认DNS. |
- macOS xhyve驱动

远程主机上安装Docker
通过Docker-machine命令可以轻松的在远程主机上安装Docker。但是有三个前提条件,1在目标主机上创建一个用户并加入sudo组,为该用户设置sudo 操作不需要输入密码。把本地用户的ssh public key 添加到目标主机上。
比如我们要在远程主机上添加一个名为 nick 的用户并加入 sudo 组:
1 | sudo adduser nick |
然后设置 sudo 操作不需要输入密码:
1 | sudo visudo |
把下面一行内容添加到文档的最后并保存文件:
1 | nick ALL=(ALL:ALL) NOPASSWD: ALL |
最后把本地用户的 ssh public key 添加到目标主机上:
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub nick@xxx.xxx.xxx.xxx |
这几步操作的主要目的是获得足够的权限可以远程的操作目标主机。
安装命令
在本地运行下面的命令:
1 | docker-machine create -d generic \ |
使用docker-machine ls命令查看当前可管理的主机列表。
然后执行 eval $(docker-machine env 远程主机Docker名字) 命令,就可以通过本地的客户端操作远程主机上的 Docker daemon 了。
切换管理不同的主机
只需要输入
1 | eval $(docker-machine env 新主机Docker名字)# 即可切换。 |
要管理本地主机,需要重新开启一个终端就好。
Author: corn1ng
Link: https://corn1ng.github.io/2018/05/15/docker/Dockermachine/
License: 知识共享署名-非商业性使用 4.0 国际许可协议