从多个开发机器管理远程Docker机器

问题描述

通过使用基于TLS的通信,码头工人正在利用双向SSL验证。换句话说,客户端不仅会验证服务器,还会反过来验证服务器。通过创建启用了TLS的docker计算机,您将成为自己的证书颁发机构(CA),因此,您将负责管理SSL证书。Docker机器在后台执行此操作,但是我相信您可以手动设置自签名CA并重新指向Docker以使用您设置的证书和密钥。因此,与其为所有开发者工作站共享一个证书和密钥,不如为每个由CA私钥签名的开发者颁发唯一的证书和私钥。每个人必须共享的唯一内容是公开的CA证书。

这样做的好处是,您可以在开发人员离开后立即撤销证书,尽管使用自签名证书很难做到这一点,并且可以问责制,您可以在日志中检查谁做了什么。

Docker TLS设置。

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

解决方法

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

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

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

在此问题上的任何指导将不胜感激。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...