Machine: 使用docker-machine使用--driver = generic和/或--url导入主机不起作用。

创建于 2015-05-23  ·  62评论  ·  资料来源: docker/machine

嗨伙计
这不是问题。 很抱歉,如果这是问这个问题的错误地方。 如果这不是正确的地方,请将我指向正确的地方。

我知道我们可以使用docker-machine通过Virtualbox,云提供商驱动程序等驱动程序连接到不同的主机。如果我已经有一个主机在裸机Linux中运行Docker,我们如何将其与docker-machine集成? 如果没有docker-machine,我可以通过在特定端口上运行Docker守护程序并从docker客户端外部连接到docker守护程序ip和port来执行相同操作。 docker-machine中有一个选项可以创建不带任何驱动程序的主机,是出于这个目的吗? 我找不到如何使用它进行连接。

谢谢
斯雷尼瓦斯

drivegeneric kinbug

最有用的评论

@nathanleclaire对此有任何更新吗? 我试图弄清楚如何连接到运行在Microsoft Azure中的Docker主机,该主机是使用docker-machine从另一台计算机创建的。 现在,我的解决方案为零。

所有62条评论

@smakam ,我相信您正在寻找的是url驱动程序: http :

嗨@nathanleclaire
感谢您的回复。
我确实查看了您提到的链接,并尝试了以下操作,但没有运气。

首先,我尝试不使用任何TLS:
在Ubuntu计算机上,我这样做是为了启动docker agent:
sudo docker -d -H Unix:///var/run/docker.sock -H tcp://192.168.56.101 :2376&

在安装了docker-machine的Windows上,执行以下操作:
$ docker-machine create --url = tcp://192.168.56.101 :2376 custom6
←[34mINFO←[0m [0000]”“ custom6”已创建,现在是活动计算机。
$ docker-machine ls
名称活动驾驶员状态URL群
custom6 *无tcp://192.168.56.101 :2376

我收到此错误:
$ docker-machine env custom6
←[31mFATA←[0m [0000]打开C:\ Users \ srmakam.docker \ machine \ machines \ custom6 \ ca.pem:系统找不到指定的文件。

不知道docker-machine是否强制执行TLS。 我尝试使用证书和密钥启动Docker代理,并尝试使用Docker客户端,也没有运气。

谢谢
斯雷尼瓦斯

实际上,我们确实以当前形式强制要求TLS。 如果您设置自己的CA和证书/密钥,我想您可能可以通过Docker Machine的--tls-ca-cert--tls-ca-key gloabl选项来使用它们。 @ehazlett有什么评论吗?

你好

我尝试使用TLS,但仍然无法正常工作,不确定我丢失了什么:
我在Ubuntu主机上启动了docker:
须藤/ usr / bin / docker -d --tlsverify --tlscacert =

/ca.pem --tlskey =/key.pem --tlscert =/cert.pem --host = unix:///var/run/docker.sock --host = tcp://0.0.0.0 :2376

然后我尝试创建一个没有驱动程序的docker-machine主机:
码头机器--tls-client-cert =

/cert.pem --tls-ca-cert =/ca.pem --tls-client-key =/key.pem创建--url = tcp://:2376定制3

当我尝试查看环境时,出现以下错误:
$ docker-machine env custom3
←[31mFATA←[0m [0000]打开C:\ Users \ srmakam.docker \ machine \ machines \ custom3 \ ca.pem:系统找不到指定的文件。

谢谢
斯雷尼瓦斯

由于--tls-ca-cert etc设置是全局的,因此您很可能希望对所有与计算机相关的东西使用现有的CA,客户端等。

至于您的Docker守护程序,您想使用CA和服务器证书/ keys-在上面您使用的是CA cert,但是客户端密钥和cert。 您将需要以下内容:

docker -d --tlsverify --tlscacert ca.pem --tlscakey ca-key.pem --tlscert server.pem --tlskey server-key.pem

@ehazlett
我试图在“证书”目录中使用全局设置为docker-machine创建命令行中的指定选项,但它仍然抱怨机器/中缺少“ ca.pem”\ 目录。
如何获取“ server.pem”和“ server-key.pem”? 我应该生成它吗?

我能够在不使用docker-machine的情况下使用TLS在单独机器上的docker客户端和docker agent之间进行连接。

谢谢
斯雷尼瓦斯

您可以显示使用的命令行参数吗? 如果指定certs机器,则应使用它们。 如果没有,那是一个错误:)

嗨@ehazlett
首先,我像这样启动docker agent:
须藤/ usr / bin / docker -d --tlsverify --tlscacert = / home / xxx / .docker / machine / certs / ca.pem --tlskey = / home / xxx / .docker / machine / certs / key.pem --tlscert = / home / xxx / .docker / machine / certs / cert.pem --host = unix:///var/run/docker.sock --host = tcp://0.0.0.0 :2376

然后我像这样启动docker-machine客户端:
docker-machine --tls-ca-cert = / home / xxx / .docker / machine / certs / ca.pem --tls-client-key = / home / xxx / .docker / machine / certs / key.pem- -tls-client-cert = / home / xxx / .docker / machine / certs / cert.pem create --url = tcp://0.0.0.0 :2376 custom3

设置环境时出现此错误:
xxx @ ubuntu :〜$ docker-machine env custom3
打开/home/xxx/.docker/machine/machines/custom3/ca.pem:没有这样的文件或目录

在这里,我在同一台Ubuntu计算机上运行docker agent和docker-machine。 在Ubuntu中运行docker agent和在Windows中运行docker-machine时出现类似错误。

谢谢
斯雷尼瓦斯

您不应将key.pemcert.pem用于Docker引擎。 引擎需要服务器密钥/证书对(机器将创建它们)。

对于环境,您是如何创建custom3机器的? 如果该文件不存在,似乎在创建过程中出了点问题。

嗨@ehazlett
我应该如何启动docker引擎? 据我了解,docker-machine使用TLS强制执行。

这就是我创建custom3机器的方式。 这没有给我任何错误。
docker-machine --tls-ca-cert = / home / xxx / .docker / machine / certs / ca.pem --tls-client-key = / home / xxx / .docker / machine / certs / key.pem- -tls-client-cert = / home / xxx / .docker / machine / certs / cert.pem create --url = tcp://0.0.0.0 :2376 custom3

我是否应该手动创建服务器密钥/证书对,就像将驱动程序与docker-machine一起使用时将如何处理?

谢谢
斯雷尼瓦斯

@smakam,这应该是正确的。 它应基于该现有CA生成服务器密钥。 我将做一些测试,看是否有问题。

@smakam有关此问题的任何更新,或者我们可以关闭它吗?

@nathanleclaire我仍然无法启动它。 我什至尝试使用此处提到的通用驱动程序使用docker-machine 3.0(http://blog.docker.com/2015/06/docker-machine-0-3-0-deep-dive/)
这是提到的:
docker-machine create -d通用\
--generic-ssh-user ubuntu \
--generic-ssh-key〜/ Downloads / manually_created_key.pub \
--generic-ip-address 12.34.56.78 \
丛林

我认为.pub是一个错字,我们需要提供私钥。 我在2个不同的主机中遇到2种错误:

情况1:
导入SSH密钥...
创建机器时出错:退出状态1
您将需要检查提供程序,以确保正确删除了计算机和相关资源。

情况2:
导入SSH密钥...
获取SSH命令以检查守护程序是否启动时出错:退出状态1
获取SSH命令以检查守护程序是否启动时出错:退出状态1

顺便说一句,docker-machine详细日志存储在哪里?
我尝试将docker-machine用于Windows和Linux。

谢谢
斯雷尼瓦斯

同样的问题。
--url和-d通用方法均无效。

我尝试了与原始海报相同的步骤,并且遇到了类似的问题,这时我尝试了通用驱动程序,并遇到类似于案例1(CentOS 7)的错误。

同样的问题。 不能使用--url并指定证书。

我可能建议Docker团队编写一个简短的教程,逐步引导我们,这将非常有帮助。

在连接anyconnect vpn的情况下,同样的问题,在我重新启动没有任何连接的笔记本电脑之后,它就消失了。

为此问题+1。
我尝试将docker-machine create --url=与远程主机上的现有docker设置结合使用,但是没有运气。 DM无法尝试从$HOME/.docker/machine/machines/<name>/ca.pem获取TLS。

同样的问题。 我尝试了相同的步骤,但是仍然没有生成服务器证书/密钥。
docker机器版本0.4.0
Docker版本1.8.0

同样的问题。 我尝试了相同的步骤,但是仍然没有生成服务器证书/密钥。
docker-机器版本0.4.1
Docker版本1.8.1

@csokun @ miracle-in-sunday @narqo尽管我确实承认使用--url尽管您确实携带了自己的证书,但通常认为它的一部分代码一直在衰弱,因此可能被破坏了。

如果您想自动生成证书和密钥,请尝试generic驱动程序: https :

如果这不适用于您的用例,我是否可以请您另外提出一个问题,详细说明您正在采取的确切步骤以及所看到的结果?

谢谢!

嗨,大家好,您尝试使用--virtualbox-hostonly-cidr指定吗? 为我工作:

BartSlaman @ VLRNB176〜
$ docker-machine create -d virtualbox --virtualbox-hostonly-cidr“ 192.168.99.100/24” dev4
创建VirtualBox VM ...
正在创建SSH密钥...
正在启动VirtualBox VM ...
正在启动VM ...
要查看如何将Docker连接到此计算机,请运行:C:\ Program Files(x86)\ Git \ bindocker-machine env dev4

BartSlaman @ VLRNB176〜
$ docker-machine env dev4
导出DOCKER_TLS_VERIFY =“ 1”
导出DOCKER_HOST =“ tcp://192.168.99.101 :2376”
导出DOCKER_CERT_PATH =“ C:\ Users \ BartSlaman.docker \ machine \ machines \ dev4”
导出DOCKER_MACHINE_NAME =“ dev4”

问候
巴特·斯拉曼

关于此问题有任何更新吗? 我用--tls- *尝试了--url,但出现错误“打开/Users/user/.docker/machine/machine/ss/ca.pem没有这样的文件或目录”。 我使用docker-machine版本0.4.1

此处相同,但创建时出现不同的错误:

导入SSH密钥...
SSH cmd错误!
命令:sudo主机名内部&&回显“内部” | sudo tee / etc /主机名
错误:退出状态1
输出:sudo:不存在tty且未指定askpass程序

然后在运行eval“ $(docker-machine env internal)”时:
打开/Users/marlon/.docker/machine/machines/internal/ca.pem:没有这样的文件或目录

这意味着未生成证书。

有趣的是,我可以在运行“ docker-machine ssh internal”的机器上使用ssh。

我能够获得--url ,并指向使用Docker Machine创建的DigitalOcean上的现有Docker引擎。

要使用--urlnone驱动程序,我只是在用于创建主机的机器上复制了现有的~/.docker/machine/machines/dobox/文件夹,并删除了cert.pemkey.pemid_rsa.pubid_rsaconfig.json (保留ca.pemserver.pemserver-key.pem )。 然后,我从之前在新创建的目录内生成了一个新的客户端证书/密钥对(https://docs.docker.com/articles/https/,从“用于客户端身份验证”开始),并将其复制到我所在的计算机上尝试连接。 最后,我使用docker-machine create --url=tcp://SOME_IP:2376 dobox添加了远程主机,并将证书移至Docker Machine期望的位置: ~/.docker/machine/machines/dobox/ 。 该文件夹应该已经存在并且包含config.json ,所以您只是添加证书。 我没有尝试更改Docker使用的TLS标志/身份验证方案,这些方案是:

--tlsverify \
--tlscacert="/home/roberto/.docker/machine/machines/dobox/ca.pem" \
--tlscert="/home/roberto/.docker/machine/machines/dobox/cert.pem" \
--tlskey="/home/roberto/.docker/machine/machines/dobox/key.pem" \
-H=tcp://SOME_IP:2376

现在,我可以在第二台客户端计算机上docker $(docker-machine config dobox) images或仅eval "$(docker-machine env dobox)"等。

docker机器版本0.4.0
Docker版本1.8.2

如何在docker.whoose用户名和密码中对客户端和服务器进行身份验证
我正在使用https://docs.docker.com/reference/api/docker_remote_api_v1.20/
并在同一台主机上具有docker客户端和服务器。
同时也请让我知道两者是否不在同一台计算机上。

伙计们,为了上帝,添加教程如何导入现有的docker机器。
我已经从2台单独的PC中创建了2台不同的云Azure计算机,现在我无法将PC连接到在另一台PC上创建的Azure云。
已经花了2个晚上,尝试所有建议,但没有结果。

@nathanleclaire wdyt?

@ dmp42大概是什么? --url损坏是一个众所周知的问题,我们希望尽快通过便携式配置支持在多台不同计算机上使用计算机。

我想至少要有一个明确的声明,那就是在官方文档中或在github上的某个地方,从PC到PC的现有主机的导入暂时不起作用(或存在一些已知问题),这将是很棒的。

@baio +1

我有一台Centos 7主机,我已经在该主机上安装了标准Centos存储库中的标准Docker软件包-即,我没有使用Docker网站上的软件包。

在我的本地工作站上,当我尝试使用通用驱动程序为此Centos 7主机创建计算机时,当尝试安装名为“ docker-engine”的软件包时,该计算机失败并显示“退出状态1”。

我猜想如果远程主机上已经安装了Docker,这是行不通的吗?

相关:#2270

我认为我有一个最小的可复制示例:

创建一个简单的Vagrantfile

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  # Box
  config.vm.box = "ubuntu/precise64"
  config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box"

  # To make this easily reproducible
  config.ssh.insert_key = false
  config.vm.network "private_network", ip: "192.168.50.4"

end

启动虚拟机

$ vagrant up

确认您可以使用您期望的密钥,用户和IP进行SSH

ssh -i ~/.vagrant.d/insecure_private_key [email protected]

^这对我有用

创建Docker机器

$ docker-machine create -d generic --generic-ssh-user vagrant --generic-ssh-key ~/.vagrant.d/insecure_private_key --generic-ip-address 192.168.50.4 repro

Importing SSH key...
Error creating machine: Maximum number of retries (60) exceeded
You will want to check the provider to make sure the machine and associated resources were properly removed.

你们得到相同的结果吗? 让我知道是否还有其他可以尝试帮助调试的内容。

这里同样的问题。 无法使--url (无驱动程序)可用于:

  • OSX下的Docker Machine 0.5.1(客户端)
  • Docker 1.9(远程服务器端)
  • 远程守护程序开始于:
--tlsverify -H=unix:///var/run/docker.sock -H=0.0.0.0:2376 --tlscacert=/root/.docker/ca.pem --tlscert=/root/.docker/cert.pem --tlskey=/root/.docker/key.pem
  • ~/.docker/machine/machines/mymachine/下安装的客户端证书(ca,密钥,证书)

键入docker-machine env mymachine ,它失败为:

Error running connection boilerplate: Error checking and/or regenerating the certs: There was an error validating certificates for host "": open /Users/f2i/.docker/machine/machines/anakin/server.pem: no such file or directory
You can attempt to regenerate them using 'docker-machine regenerate-certs name'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.

Wihout docker-machine一切似乎都很好:

> docker --tlsverify -H=myhost:2376 ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS 

只是想知道,泛型( --driver "generic" --generic-ip-address ...没有驱动程序( --driver "none" --url ...)之间的真正区别是什么?
我了解通用通过SSH连接(因此就像直接在远程服务器上使用docker一样),并且没有驱动程序使用TCP连接到主机。

因此,不使用任何驱动程序,为什么我们需要在客户端主机上具有server.pemserver-key.pem ? 它们不应由机器管理。 对 ?

即使提供了最后的PEM文件,它也无法完成以下任务:

Error running connection boilerplate: Error checking and/or regenerating the certs: There was an error validating certificates for host "": crypto/tls: failed to parse private key
You can attempt to regenerate them using 'docker-machine regenerate-certs name'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.

“无驱动程序”更多是用于开发的集成测试驱动程序。 但是,如果您黑客得足够多,则可以使用您的设置来注册现有计算机。 计划在将来的版本(#2437)中将其删除。 当前文档对该none驱动程序具有误导性。

generic驱动程序应用于在任何主机上注册并正确安装docker。
请注意,它至少会在目标主机上重启docker守护进程。 但这是将任何“通用”计算机注册到docker计算机中的可靠方法,只要您提供ssh访问权限即可。

@jeanlaurent generic驱动程序的问题在于,如果已经安装了docker ,它将与您的计算机混为一谈(例如,更改主机名;运行yum update )。 我认为我们很多人想说的是none驱动程序具有一流的用例,并且如果它能正常工作,对我们许多人(除了目标驱动程序而言)将是一种有价值的功能。 。

对此同意@metasimnone驱动程序是一个非常常见的用例。 这是与远程Docker API交互的最基本方法之一。 不幸地将其命名为test 。 Peraph的误导来自于我们不想创建/管理新机器( docker-machine create )而是仅连接到现有机器的事实...

我并不是说我们不应该能够以一种或另一种方式将现有机器“注册”到docker-machine,我们只需要正确地做就可以了。 none驱动程序周围有很多混乱,它在很多地方都不起作用,并且人们正在滥用它。 这里的目的是为真正的register existing machine功能做准备。

但是一旦一台机器通过none驱动程序被“黑客”入docker-machine,就会有很多东西要打破链条-> restartupgradessh显然。 手动更改json文件与使用none驱动程序实际注册计算机一样有效。

@metasimgeneric驱动程序升级为不“干扰您的计算机”是处理它的一种方法。

@vpusher我们可能需要设计一个适当的寄存器功能。

@jeanlaurent感谢您的回复。 我可以看到,升级generic以处理此用例(包括现有密钥)可能是一个不错的方法。 但是,本着“关注点分离”的精神,我建议考虑考虑使用新驱动程序( existing ?, preconfig ?, manual ?, diy ?:-))处理此用例,尤其是可以更好地在此狭窄上下文中建立稳定性。

仅供参考。 #2260和#2269(已关闭,但未真正解决)是试图捕获none驱动程序周围的部分混乱情况

PS:我认为在此用例中明确不支持某些命令是完全可以接受的(例如restartupgrade等)。

@metasim是的,专用驱动程序可能实际上是处理寄存器功能的最佳方法,但不是唯一的,专用命令是另一种。 但是在决定如何做之前,我们需要澄清/定义这种情况,我们都需要注册新机器,而无需在上面安装docker的docker-machine

例如,如果您看一下PR#2442,我们会为Docker版本ping docker主机。 因为我们希望能够在某个时候提供升级,或者警告您当前的Docker客户端的docker主机太旧。 对于没有安装docker守护程序的机器,这将证明是困难的,或者至少是非常脆弱的。

如果我们认为我们可以通过某种方式更新generic驱动程序,我想知道有人在哪种情况下希望将机器注册到docker-machine而不提供ssh访问权限?

你的是啥呢 ? 让我们列出它们。

关于为none定义用例和/或可能在此处弃用的一些评论: https :

我的感觉是,我们(机器团队)应该:

  • 遵循Docker关于弃用功能的现有准则(弃用2个发布周期)。
  • 因此,如果我们要弃用none驱动程序,则应等待将其完全删除,直到0.7.0。
  • 在此期间,请使用none驱动程序修复现有的显示停止程序错误,并努力定义理想的未来工作流程(无论是import / register还是更改generic驱动程序),以便感兴趣的用户可以跟进并有足够的时间为即将到来的更改做准备。

@dgageot @jeanlaurent听起来如何?

@jeanlaurent我可以看到几乎需要ssh ,这还不错。 到目前为止,我只是假设大多数事情都可以通过REST API完成。

我主要使用docker-machine作为工具来设置使docker与另一台主机对话所需的env变量。 我从不使用upgrade / restart等命令。 我的Docker主机在vSphere中具有通过vOrchestrator工作流程创建的自定义模板-不能在docker-machine中使用vSphere驱动程序。

就是说,我意识到我的用例不是唯一的用例,但我希望至少要考虑一下。

至少出于我的目的,我可以用shell别名替换docker-machine

如果有帮助,这里是一个示例用例:

我想使用elasticbeanstalk而不是docker-machine在亚马逊中创建ec2机器,因为elasticbeanstalk有很多好处(例如自动缩放和机器重启)。 我想在docker-machine上注册并使用docker-swarm控制它们。

将这些机器升级到docker 1.9并不容易,但是它们运行的​​是amazon linux(古代centos fork),而generic不适用于它们。 因为那里的docker引擎没有tls,所以我使用普通docker远程管理它们的技巧是使用socat在localhost:2375中公开docker.sock(类似于https://github.com/sequenceiq/docker- socat),然后使用诸如ssh -i id_rsa [email protected] -L 2375: localhost:2375 -N之类的东西在本地计算机上建立ssh隧道。 然后,我可以使用docker --tls = false -H tcp:// localhost :2375通过网络进行连接。

这是很多体操。 ssh访问和有效的docker设置(即使没有ssl)的结合也应该是docker机器在许多有趣的情况下所需的全部内容(无需升级,按其他说明重新启动,但无论如何我都不会使用它们)。

希望是有用的。

@bonitao很高兴您能说明。 在某些企业项目中,我还具有“通过ssh进行隧道”的用例。

我只是开始再次尝试将Docker计算机与现有主机一起使用...我同意none驱动程序周围的@metasim语句...自generic起,它对于社区今天具有价值none努力工作,以了解到有人提议将其重命名为test@nathanleclaire是否有任何使generic驱动程序按计划描述的计划?

我在https://github.com/docker/machine/issues/2628上花费了很多时间,这是我们拥有的用例...使用docker支持公司中现有的团队...

我一直在搜寻,假设我只是完全缺乏了解,试图弄清楚如何从我在其他地方创建的CI服务器连接到Azure Docker计算机。 我到这里结束了,很惊讶这实际上是不可能的(没有黑客)。

我创建了一个蓝色的docker机器实例,并使其完全从工作站运行,我只想能够通过CI脚本对其进行控制和部署,该CI脚本可以从多个CI从属实例运行。 真的没有官方的方法可以实现这一目标吗?

我已经更新了docker,现在我无法再连接到旧的docker-machine实例。 我懂了

Error running connection boilerplate: Error checking and/or regenerating the certs: There was an error validating certificates for host "xxxxx:2376": open : no such file or directory
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.

regeenrate-certs命令给了我

Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): y
Regenerating TLS certificates
Detecting the provisioner...
Installing Docker...
Copying certs to the local machine directory...
Copying ca.pem to machine dir failed: open : no such file or directory

有趣的是,我可以

docker-machine ssh

没有任何问题..

任何修复?

场景:已启用Docker和TLS的现有且正在运行的服务器。

将现有服务器/机器添加到docker-machine:

docker-machine --tls-ca-cert path/to/ca.pem --tls-ca-key path/to/ca-key.pem --tls-client-cert path/to/client.pem --tls-client-key path/to/client-key.pem create --driver none --url tcp://HOST:2376 NAME

在您的用户目录(〜/ .docker / machine / machines / NAME)中,添加与“ cert.pem”和“ server.pem”相同的客户端证书,并将客户端证书密钥作为“ key.pem”和“ server-key”。 pem”还调整您的config.json以包括相关的SSH设置...

我提出了这个问题。 我最近开始工作了,我把说明放在这里了(https://sreeninet.wordpress.com/2015/05/31/docker-machine/),以防有人参考。

这是一个对我有用的脚本:
https://github.com/docker/machine/issues/3344#issuecomment -212536797

@devcrust到底在哪里:

path/to/ca.pem
path/to/ca-key.pem
path/to/client.pem
path/to/client-key.pem

???

$ ls certs/
ca-key.pem  ca.pem  cert.pem  key.pem
$ ls machines/adhoc/
ca.pem  cert.pem  config.json  id_rsa  id_rsa.pub  key.pem  server-key.pem  server.pem

我无法正确设置。 我也有这个问题:

Copying ca.pem to machine dir failed: open : no such file or directory

升级到0.6.0 ...之后。我失去了对12台计算机的TCP访问权限

@nathanleclaire对此有任何更新吗? 我试图弄清楚如何连接到运行在Microsoft Azure中的Docker主机,该主机是使用docker-machine从另一台计算机创建的。 现在,我的解决方案为零。

解决方案:_(您希望)_

docker-machine添加<🖥️名称> --driver <☁️️提供程序驱动程序>

太可惜了这么多时间过去了,仍然没有引入任何功能来解决此问题。

物有所值。 您可以使用通用驱动程序创建计算机,但是这将重新启动所有容器。
添加重新启动:始终在您的容器上将确保它们不会停止。 我第二个docker-machine add选项

我也是拥有docker-machine add选项的游戏。

这是两个使用不同机器共享方法的项目:

@jeanlaurent

你的是啥呢 ? 让我们列出它们。

我的想法是在运行大量容器的情况下将本地计算机连接到现有物理服务器。 进行docker-machine create --driver generic很可能会阻止它们,甚至更多。 我不知道为什么需要重启docker ...

好吧,我可以简单地在ssh上运行命令,但是从其描述来看,似乎也可以使用docker-machine

但是,如果您是从计算机创建虚拟机,并想从另一台计算机管理它。 或者您重新安装了本地操作系统...或者想要将对VM的控制权委派给其他人...

PS我正在使用Docker迈出第一步,所以可能有些地方我遗漏了...

@ x-yuri要手动“创建”计算机,只需从.docker/machine/machines复制其文件并调整其路径即可。

此页面是否有帮助?
0 / 5 - 0 等级