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

标签 docker docker-machine

使用 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 TLS setup.

Becoming your own CA tutorial and certificate revocation

关于docker - 从多台开发机器管理远程 docker 机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204313/

相关文章:

postgresql - 数据目录由 PostgreSQL 版本 13 初始化,与此版本 14.0 不兼容

bash - 如何使用 ssh 直接连接到远程 docker 容器

docker - 环境变量OpenShift .NET Core

php - 我无法使用 docker-machine 和 docker-compose 运行 LEMP

docker - 作业完成后自动关闭 AWS 实例

nginx - Mac 主机上 Docker-machine 的容器联系应用

docker - Docker ContainerID不可用

docker - 谁能让我知道我的docker文件中的问题是什么?

docker - 如何修复由于hns错误而不会重新启动的docker daemon

docker - 如何调试dist/不在Docker Cloud Build上生成?