如何在单独的机器中托管Docker Daemon和Docker客户端

1 docker devops

我想在预留服务器中运行所有Docker容器,我想从本地机器管理服务器.有什么方法可以实现这个目标吗?

提前致谢.

lvt*_*llo 5

它在docker文档中有详细解释.默认情况下,Docker通过非联网的Unix套接字(未公开)运行.但它也可以选择使用HTTP套接字进行通信.如果要保证此安全,则需要配置TLS.

我可以从doc页面复制所有命令,但我认为它解释得很好.

简而言之:

  • 您必须在服务器上运行CA私钥和公钥(守护程序正在运行的位置).
  • 您可以从CA创建服务器密钥和csr.
  • 使用您的CA签署publickey
  • 从扩展配置文件生成签名证书.
  • 在客户端计算机(您的笔记本电脑)上创建客户端密钥和证书签名请求(csr)
  • 使密钥适合客户端上的扩展配置文件中的身份验证
  • 生成签名证书(并删除签名请求)
  • 使用保护您的密钥文件 chmod -v 0400

现在,您可以使Docker守护程序仅接受来自提供CA信任的证书的客户端的连接:

$ dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem \
  -H=0.0.0.0:2376
Run Code Online (Sandbox Code Playgroud)

在您的客户端上,您可以使用:

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem \
  -H=$HOST:2376 version
Run Code Online (Sandbox Code Playgroud)

其中$ HOST是运行守护程序的计算机的DNS或IP