从多台开发机器管理远程docker机器

fra*_*now 27 docker docker-machine

可以从另一个工作站管理从一个开发人员工作站使用docker-machine命令创建的docker机器.我不是在寻找一个涉及docker swarm的解决方案,而只是寻找一个docker机器.

根据我的理解,当docker-machine在AWS EC2等远程环境中创建机器时,它会创建密钥和证书,然后用于与机器进行基于TLS的通信.因此,理论上如果我将这些密钥和证书复制到另一台开发人员机器上,我应该能够连接到该远程docker机器.

但是,我想知道这是否是实现我想要做的事情的预期方法.IMO这将是Docker社区可能面临的大多数情况,因为多个团队成员需要共享和管理相同的远程docker机器.

任何有关此事的指导都会非常感激.

小智 27

通过使用基于TLS的通信,docker正在使用双向SSL验证.换句话说,客户端不仅验证服务器,还反过来验证服务器.通过创建启用了TLS的docker机器,您将成为自己的证书颁发机构(CA),因此您负责管理SSL证书.Docker机器在幕后执行此操作,但我相信您可以手动设置自签名CA并重命名Docker以使用您设置的证书和密钥.因此,不是为所有开发人员工作站共享单个证书和密钥,而是为CA私钥签名的每个开发人员颁发唯一的证书和私钥.每个人必须共享的唯一事情是CA证书,它是公开的.

这样做的好处是,一旦开发人员离开,您就可以撤销证书,虽然这对于自签名证书来说很困难,并且它允许在您可以检查谁从日志中执行操作的问责制.

Docker TLS设置.

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

  • @ number5的上述问题让我想知道Docker机器是否可能是错误的部署方式?但是我觉得我应该能够将`〜/ .docker/machine/certs`和`〜/ .docker/machine/machines/...`中的证书复制到另一台机器上,对吧?我错过了一些会让这件事变得不安全的事吗?我正在避免复制`default`,因为它包含一个完整的boot2docker ISO. (5认同)
  • 包含共享Docker Machine实例的示例命令序列非常有用. (2认同)