从多个开发机器pipe理远程docker机

可以使用docker-machine命令从一个开发人员工作站创build的docker工人从另一个工作站进行pipe理。 我不是在寻找涉及docker群的解决scheme,而只是docker机。

根据我的理解,当docker-machine在像AWS EC2这样的远程环境中创build机器时,它会创build密钥和证书,然后将其用于基于TLS的通信。 因此,理论上,如果我将这些密钥和证书复制到另一个开发人员机器,我应该能够连接到远程的泊坞窗机器。

但是,我想知道这是否是预期的方法来完成我期待的目标。 海事组织这将是大多数docker社区可能面临的情况,因为多个团队成员将需要共享和pipe理相同的远程docker机。

任何指导在这个问题将非常感激。

通过使用基于TLS的通信,docker正在使用双向SSLvalidation。 换句话说,不仅客户端validation服务器,而且相反。 通过创build一个启用了TLS的docker计算机,您将成为您自己的authentication中心(CA),因此您负责pipe理SSL证书。 Docker机器在后台执行此操作,但我相信您可以手动设置自签名CA并重新指定Docker以使用您设置的证书和密钥。 因此,与所有开发人员工作站共享一个证书和密钥不同,为每个由CA私钥签名的开发人员颁发一个唯一的证书和私钥。 唯一必须由大家共享的是CA证书,它是公开的。

这样做的好处是,一旦开发人员离开,您可以撤消证书,但是对于自签名证书来说,这是很困难的,并且允许您检查从日志中做什么的人员。

Docker TLS安装。

成为您自己的CA教程和证书撤销

有一个外部工具来导入/导出docker-machines: machine-share 。

 machine-export <machine-name> >> exported to <machine-name>.zip machine-import <machine-name>.zip >> imported 

顺便说一句,我相信丹尼尔的解决scheme是优越的,但需要对工具/工作stream程进行重大投资。 machine-export应该在95%的情况下是足够的。