通用的
预计阅读时间:2分钟
使用现有的带有SSH的VM /主机创建计算机。
如果您使用的是Machine不直接支持的提供程序,或者想要导入现有主机以允许Docker Machine管理,则此功能很有用。
驱动程序执行创建时的任务列表:
- 如果docker不在主机上运行,它将自动安装。
- 它将更新主机软件包(
apt-get update
,yum update
...)。 - 它生成证书以保护docker守护程序。
- 如果主机使用systemd,它将创建/etc/systemd/system/docker.service.d/10-machine.conf
- docker守护程序会重新启动,因此所有正在运行的容器都将停止。
- 主机名已更新以适合计算机名称。
例子
要创建机器实例,请指定--driver generic
,主机的IP地址或DNS名称,以及授权连接到主机的SSH私钥的路径。
$ docker-machine create \
--driver generic \
--generic-ip-address=203.0.113.81 \
--generic-ssh-key ~/.ssh/id_rsa \
vm
须藤特权
可以使用--generic-ssh-user
flag指定用于SSH进入主机的用户
。该用户需要无密码的sudo特权。如果不是这种情况,则需要编辑sudoers
文件,然后使用将用户配置为sudoer NOPASSWD
。请参阅https://help.ubuntu.com/community/Sudoers。
选项
--generic-engine-port
:用于Docker Daemon的端口(注意:此标志不适用于boot2docker)。--generic-ip-address
:主机的必需IP地址。--generic-ssh-key
:SSH用户私钥的路径。--generic-ssh-user
:用于连接的SSH用户名。--generic-ssh-port
:用于SSH的端口。
注意:您必须使用计算机支持的基本操作系统。
环境变量和默认值
CLI选项 | 环境变量 | 默认 |
---|---|---|
--generic-engine-port |
GENERIC_ENGINE_PORT |
2376 |
--generic-ip-address |
GENERIC_IP_ADDRESS |
-- |
--generic-ssh-key |
GENERIC_SSH_KEY |
-- |
--generic-ssh-user |
GENERIC_SSH_USER |
root |
--generic-ssh-port |
GENERIC_SSH_PORT |
22 |
系统设置
对于使用systemd的系统,如果您在'/etc/systemd/system/docker.service.d/'中定义了现有配置,则这可能与docker-machine创建的设置冲突。确保此位置没有覆盖[ExecStart]设置的其他配置文件。
确认已删除所有冲突的设置后,请运行,sudo systemctl daemon-reload
然后执行
sudo systemctl restart docker