从多台开发机器管理远程 docker 机器
Managing remote docker machines from multiple development machines
可以从另一个工作站管理使用 docker 机器命令从一个开发人员工作站创建的 docker 机器。我不是在寻找涉及 docker 群的解决方案,而是 docker 机器。
根据我的理解,当 docker-machine 在 AWS EC2 等远程环境中创建机器时,它会创建密钥和证书,然后用于基于 TLS 的机器通信。因此,理论上,如果我将这些密钥和证书复制到另一台开发人员机器,我应该能够连接到该远程 docker 机器。
但是,我想知道这是否是完成我想要做的事情的预期方法。 IMO 这将是大多数 docker 社区可能面临的场景,因为多个团队成员将需要共享和管理同一台远程 docker 机器。
非常感谢有关此事的任何指导。
通过使用基于 TLS 的通信,docker 正在利用双向 SSL 验证。换句话说,不仅客户端验证服务器,反之亦然。通过创建启用了 TLS 的 docker 机器,您将成为自己的证书颁发机构 (CA),因此您负责管理 SSL 证书。 Docker 机器在幕后执行此操作,但我相信您可以手动设置自签名 CA 并重新指向 Docker 以使用您设置的证书和密钥。因此,不是向所有开发人员工作站共享单个证书和密钥,而是为每个由 CA 私钥签名的开发人员颁发唯一的证书和私钥。唯一需要大家共享的就是CA证书,也就是public。
这样做的好处是,一旦开发人员离开,您就可以撤销证书,尽管这对于自签名证书来说很困难,并且它允许问责制,您可以从日志中检查谁做了什么。
import/export docker 机器有一个外部工具:machine-share。
machine-export <machine-name>
>> exported to <machine-name>.zip
machine-import <machine-name>.zip
>> imported
顺便说一句,我相信 Daniel 的解决方案更出色,但需要对 tools/workflows 进行大量投资。 machine-export
在 95% 的情况下应该足够了。
可以从另一个工作站管理使用 docker 机器命令从一个开发人员工作站创建的 docker 机器。我不是在寻找涉及 docker 群的解决方案,而是 docker 机器。
根据我的理解,当 docker-machine 在 AWS EC2 等远程环境中创建机器时,它会创建密钥和证书,然后用于基于 TLS 的机器通信。因此,理论上,如果我将这些密钥和证书复制到另一台开发人员机器,我应该能够连接到该远程 docker 机器。
但是,我想知道这是否是完成我想要做的事情的预期方法。 IMO 这将是大多数 docker 社区可能面临的场景,因为多个团队成员将需要共享和管理同一台远程 docker 机器。
非常感谢有关此事的任何指导。
通过使用基于 TLS 的通信,docker 正在利用双向 SSL 验证。换句话说,不仅客户端验证服务器,反之亦然。通过创建启用了 TLS 的 docker 机器,您将成为自己的证书颁发机构 (CA),因此您负责管理 SSL 证书。 Docker 机器在幕后执行此操作,但我相信您可以手动设置自签名 CA 并重新指向 Docker 以使用您设置的证书和密钥。因此,不是向所有开发人员工作站共享单个证书和密钥,而是为每个由 CA 私钥签名的开发人员颁发唯一的证书和私钥。唯一需要大家共享的就是CA证书,也就是public。
这样做的好处是,一旦开发人员离开,您就可以撤销证书,尽管这对于自签名证书来说很困难,并且它允许问责制,您可以从日志中检查谁做了什么。
import/export docker 机器有一个外部工具:machine-share。
machine-export <machine-name>
>> exported to <machine-name>.zip
machine-import <machine-name>.zip
>> imported
顺便说一句,我相信 Daniel 的解决方案更出色,但需要对 tools/workflows 进行大量投资。 machine-export
在 95% 的情况下应该足够了。