Docker Machine 教程
# 简介
Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机。
Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。
Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOcean。
使用 docker-machine 命令,您可以启动,检查,停止和重新启动托管主机,也可以升级 Docker 客户端和守护程序,以及配置 Docker 客户端与您的主机进行通信。
# 安装
安装 Docker Machine 之前你需要先安装 Docker
# Linux 安装
$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
1
2
3
4
2
3
4
# macOS 安装
$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
chmod +x /usr/local/bin/docker-machine
1
2
3
2
3
# Windows 安装
如果你是 Windows 平台,可以使用 Git BASH (opens new window),并输入以下命令:
$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
mkdir -p "$HOME/bin" &&
curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" &&
chmod +x "$HOME/bin/docker-machine.exe"
1
2
3
4
2
3
4
查看是否安装成功:
$ docker-machine version
docker-machine version 0.16.0, build 702c267f
1
2
2
root@lss-PC:~# docker-machine -h
Usage: docker-machine [OPTIONS] COMMAND [arg...]
Create and manage machines running Docker.
Version: 0.16.0, build 702c267f
Author:
Docker Machine Contributors - <https://github.com/docker/machine>
Options:
--debug, -D Enable debug mode
--storage-path, -s "/root/.docker/machine" Configures storage path [$MACHINE_STORAGE_PATH]
--tls-ca-cert CA to verify remotes against [$MACHINE_TLS_CA_CERT]
--tls-ca-key Private key to generate certificates [$MACHINE_TLS_CA_KEY]
--tls-client-cert Client cert to use for TLS [$MACHINE_TLS_CLIENT_CERT]
--tls-client-key Private key used in client TLS auth [$MACHINE_TLS_CLIENT_KEY]
--github-api-token Token to use for requests to the Github API [$MACHINE_GITHUB_API_TOKEN]
--native-ssh Use the native (Go-based) SSH implementation. [$MACHINE_NATIVE_SSH]
--bugsnag-api-token BugSnag API token for crash reporting [$MACHINE_BUGSNAG_API_TOKEN]
--help, -h show help
--version, -v print the version
Commands:
active Print which machine is active #查看当前激活状态的 Docker 主机
config Print the connection config for machine #查看当前激活状态 Docker 主机的连接信息
create Create a machine #创建 Docker 主机
env Display the commands to set up the environment for the Docker client #显示连接到某个主机需要的环境变量
inspect Inspect information about a machine #以 json 格式输出指定Docker的详细信息
ip Get the IP address of a machine # 获取指定 Docker 主机的地址
kill Kill a machine # 直接杀死指定的 Docker 主机
ls List machines # 列出所有的管理主机
provision Re-provision existing machines # 重新配置指定主机
regenerate-certs Regenerate TLS Certificates for a machine # 为某个主机重新生成 TLS 信息
restart Restart a machine #重启指定的主机
rm Remove a machine #删除某台 Docker 主机,对应的虚拟机也会被删除
ssh Log into or run a command on a machine with SSH. 通过 SSH #连接到主机上,执行命令
scp Copy files between machines #在 Docker 主机之间以及 Docker 主机和本地主机之间通过 scp 远程复制数据
mount Mount or unmount a directory from a machine with SSHFS. #使用 SSHFS 从计算机装载或卸载目录
start Start a machine #启动一个指定的 Docker 主机,如果对象是个虚拟机,该虚拟机将被启动
status Get the status of a machine #获取指定 Docker 主机的状态(包括:Running、Paused、Saved、Stopped)等
stop Stop a machine #停止一个指定的 Docker 主机
upgrade Upgrade a machine to the latest version of Docker #将一个指定主机的 Docker 版本更新为最新
url Get the URL of a machine #获取指定 Docker 主机的监听 URL
version Show the Docker Machine version or a machine docker version
help Shows a list of commands or help for one command
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
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
# 使用
本章通过 virtualbox 来介绍 docker-machine 的使用方法。其他云服务商操作与此基本一致。具体可以参考每家服务商的指导文档。
# 1. 列出可用的机器
$ docker-machine ls
1
# 2. 创建机器
创建一台名为 test 的机器。
$ docker-machine create --driver virtualbox test
1--driver:指定用来创建机器的驱动类型,这里是 virtualbox; 需要提前安装(sudo apt update && sudo apt install virtualbox-6.0)。
# 3. 查看机器的 ip
$ docker-machine ip test
1
# 4. 停止机器
$ docker-machine stop test
1
# 5. 启动机器
$ docker-machine start test
1
# 6. 进入机器
$ docker-machine ssh test
1
上次更新: 2023/12/06, 22:30:32