通用的

预计阅读时间:2分钟

使用现有的带有SSH的VM /主机创建计算机。

如果您使用的是Machine不直接支持的提供程序,或者想要导入现有主机以允许Docker Machine管理,则此功能很有用。

驱动程序执行创建时的任务列表:

  • 如果docker不在主机上运行,​​它将自动安装。
  • 它将更新主机软件包(apt-get updateyum 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-userflag指定用于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

机器通用驱动