将 docker-machine 机器(远程而非本地主机)从一台计算机移动到另一台计算机(osx 到 windows)的最佳方法是什么。我必须更改所有机器的 config.json 文件,以便它可以在另一台计算机上运行,因为证书和机器的路径都硬编码在配置文件中。
虽然这种方法有效,但如果我们需要与团队中的每个人分享它们,那就有点乏味了。有没有办法导出或导入机器?或者还有其他方法可以归档我正在尝试做的事情。
将 docker-machine 机器(远程而非本地主机)从一台计算机移动到另一台计算机(osx 到 windows)的最佳方法是什么。我必须更改所有机器的 config.json 文件,以便它可以在另一台计算机上运行,因为证书和机器的路径都硬编码在配置文件中。
虽然这种方法有效,但如果我们需要与团队中的每个人分享它们,那就有点乏味了。有没有办法导出或导入机器?或者还有其他方法可以归档我正在尝试做的事情。
在本机实现此功能之前(请参阅第 23 期),您可以使用我编写的这个导入/导出脚本。
https://gist.github.com/schickling/2c48da462a7def0a577e
$ 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
$ 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
现在,唯一的方法基本上就是你已经做过的事情。
在未来的某个时刻,将会有一个“机器服务器”组件,可以安全地存储机器证书并允许团队共享对机器的访问。对此进行了一些讨论,但还没有正式开始。路线图中有提及。
另外可能值得注意的是一个机器声明文件的提议,该文件可以在人们之间共享,这将允许人们创建具有相同配置的不同机器(这不是您正在寻找的)。
无论如何要绕过由未知权限错误签名的 x509 证书?我猜,因为我在笔记本电脑上创建了这些机器,所以在那里生成了证书,而我的云 docker 管理实例不信任我的证书。
正如戴夫所提到的,这在今天是不可能的,但我们非常在意。
https://github.com/docker/machine/issues/2516是我最近提出的解决这个问题的方法。这将使每个人都朝着正确的方向前进,并允许共享机器目录/config.json
从计算机到计算机,而无需像您提到的那样进行自定义修改。