10

将 docker-machine 机器(远程而非本地主机)从一台计算机移动到另一台计算机(osx 到 windows)的最佳方法是什么。我必须更改所有机器的 config.json 文件,以便它可以在另一台计算机上运行,​​因为证书和机器的路径都硬编码在配置文件中。

虽然这种方法有效,但如果我们需要与团队中的每个人分享它们,那就有点乏味了。有没有办法导出或导入机器?或者还有其他方法可以归档我正在尝试做的事情。

4

4 回答 4

2

在本机实现此功能之前(请参阅第 23 期),您可以使用我编写的这个导入/导出脚本。

https://gist.github.com/schickling/2c48da462a7def0a577e

导出(在主机 A 上)

$ docker-machine ls
NAME       ACTIVE   DRIVER         STATE     URL                            SWARM   DOCKER    ERRORS
dev        -        digitalocean   Running   tcp://example.com:2376                 v1.10.1

$ ./docker-machine-export.sh dev
Exported machine to dev.zip

$ ls
docker-machine-import.sh
docker-machine-export.sh
dev.zip

导入(在主机 B 上)

$ docker-machine ls
NAME       ACTIVE   DRIVER         STATE     URL                            SWARM   DOCKER    ERRORS

$ ./docker-machine-import.sh dev.zip
Exported machine to dev.zip

$ docker-machine ls
NAME       ACTIVE   DRIVER         STATE     URL                            SWARM   DOCKER    ERRORS
dev        -        digitalocean   Running   tcp://example.com:2376                 v1.10.1
于 2016-03-29T16:05:37.133 回答
0

现在,唯一的方法基本上就是你已经做过的事情。

在未来的某个时刻,将会有一个“机器服务器”组件,可以安全地存储机器证书并允许团队共享对机器的访问。对此进行了一些讨论,但还没有正式开始。路线图中有提及。

另外可能值得注意的是一个机器声明文件的提议,该文件可以在人们之间共享,这将允许人们创建具有相同配置的不同机器(这不是您正在寻找的)。

于 2015-05-16T21:49:32.270 回答
0

无论如何要绕过由未知权限错误签名的 x509 证书?我猜,因为我在笔记本电脑上创建了这些机器,所以在那里生成了证书,而我的云 docker 管理实例不信任我的证书。

于 2017-01-16T15:51:27.843 回答
0

正如戴夫所提到的,这在今天是不可能的,但我们非常在意。

https://github.com/docker/machine/issues/2516是我最近提出的解决这个问题的方法。这将使每个人都朝着正确的方向前进,并允许共享机器目录/config.json从计算机到计算机,而无需像您提到的那样进行自定义修改。

于 2016-01-20T22:48:13.210 回答