使用 docker-machine 命令从一个开发人员工作站创建的 docker 机器是否可以从另一个工作站进行管理。我不是在寻找涉及 docker swarm 的解决方案,而只是在寻找 docker machine。
据我了解,当 docker-machine 在 AWS EC2 等远程环境上创建机器时,它会创建 key 和证书,然后用于与机器进行基于 TLS 的通信。因此,理论上如果我将这些 key 和证书复制到另一台开发人员机器上,我应该能够连接到该远程 docker 机器。
但是,我想知道这是否是完成我想做的事情的预期方法。 IMO 这将是大多数 docker 社区可能面临的情况,因为多个团队成员将需要共享和管理同一个远程 docker 机器。
非常感谢您提供有关此问题的任何指导。
最佳答案
通过使用基于 TLS 的通信,docker 正在利用双向 SSL 验证。换句话说,客户端不仅验证服务器,而且反过来验证服务器。通过创建启用了 TLS 的 docker 机器,您将成为自己的证书颁发机构 (CA),因此您负责管理 SSL 证书。 Docker 机器在幕后执行此操作,但我相信您可以手动设置自签名 CA 并重新指向 Docker 以使用您设置的证书和 key 。因此,与其向所有开发人员工作站共享单个证书和 key ,不如为每个由 CA 私钥签名的开发人员颁发唯一证书和私钥。唯一必须由每个人共享的是 CA 证书,它是公开的。
这样做的好处是,您可以在开发人员离开后撤销证书,尽管这对于自签名证书很困难,并且它允许您从日志中检查谁做了什么。
关于docker - 从多台开发机器管理远程 docker 机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204313/