机器概念和获得帮助
预计阅读时间:4分钟
Docker Machine允许您在各种环境中配置Docker计算机,包括驻留在本地系统,云提供商或裸机服务器(物理计算机)上的虚拟机。Docker Machine创建一个Docker主机,然后根据需要使用Docker Engine客户端来构建映像并在该主机上创建容器。
创建机器的驱动程序
要创建虚拟机,请向Docker Machine提供要使用的驱动程序的名称。驱动程序确定在何处创建虚拟机。例如,在本地Mac或Windows系统上,驱动程序通常是Oracle VirtualBox。为了配置物理机,提供了通用驱动程序。对于云提供商,Docker Machine支持AWS,Microsoft Azure,DigitalOcean等驱动程序。Docker Machine参考包括受支持的驱动程序的完整列表。
本地和云主机的默认基本操作系统
由于Docker在Linux上运行,因此Docker Machine置备的每个VM都依赖于基本操作系统。为方便起见,有默认的基本操作系统。对于Oracle Virtual Box驱动程序,此基本操作系统是boot2docker。对于用于连接到云提供商的驱动程序,基本操作系统是Ubuntu 12.04+。您可以在创建计算机时更改此默认设置。Docker Machine参考包括受支持操作系统的完整列表。
Docker主机的IP地址
对于您创建的每台机器,Docker主机地址都是Linux VM的IP地址。该地址由docker-machine create
子命令分配。您可以使用该docker-machine ls
命令列出已创建的计算机。该docker-machine ip <machine-name>
命令返回特定主机的IP地址。
为Docker主机配置CLI环境变量
在docker
计算机上运行命令之前,需要配置命令行以指向该计算机。该docker-machine env <machine-name>
子命令输出的配置命令,你应该使用。
有关docker-machine
子命令的完整列表,请参阅
Docker Machine子命令参考。
注册表的自定义根证书颁发机构
如果您的注册表是通过自定义根证书颁发机构签名的,并且未在Docker Engine中注册,则可能会看到以下错误消息:
x509: certificate signed by unknown authority
如Docker Engine文档中所讨论的,将
证书放置/etc/docker/certs.d/hostname/ca.crt
在hostname
您的注册表服务器的主机名所在的位置。
docker-machine scp certfile default:ca.crt
docker-machine ssh default
sudo mv ~/ca.crt /etc/docker/certs.d/hostname/ca.crt
exit
docker-machine restart
崩溃报告
设置主机是一个复杂的事情,可能由于许多原因而失败。您的工作站可能有各种各样的外壳,网络配置,VPN,代理或防火墙问题。链的另一端也有原因:您的云提供商或两者之间的网络。
为了帮助docker-machine
是尽可能保持稳定,我们增加了一个监控,只要你尝试崩溃create
或upgrade
主机。这会通过HTTPS向Bugsnag发送一些有关您的docker-machine
版本,内部版本,操作系统,ARCH,当前shell的路径以及上一个命令的历史(如您所见)的信息--debug
。发送此数据是为了帮助我们查明重复出现的问题,docker-machine
并且仅在崩溃时发送docker-machine
。
要选择退出错误报告,请no-error-report
在您的$HOME/.docker/machine
目录中创建一个文件:
$ mkdir -p ~/.docker/machine && touch ~/.docker/machine/no-error-report
该文件不需要任何内容。
获得帮助
Docker Machine仍处于起步阶段,并且正在积极开发中。如果您需要帮助,希望做出贡献或只是想与志趣相投的人谈论该项目,我们有许多开放的沟通渠道。
- 要报告错误或文件功能请求,请使用Github上的 问题跟踪器。
- 要与人们实时讨论该项目,请加入
#docker-machine
IRC上的 频道。 - 要贡献代码或文档更改, 请在Github上提交拉取请求。
有关更多信息和资源,请访问 我们的帮助页面。
接下来要去哪里
- 使用VirtualBox在本地系统上创建并运行Docker主机
- 在您的云提供商上配置多个Docker主机
- Docker Machine驱动程序参考
- Docker Machine子命令参考