docker - Docker TLS - 如何在本地机器上创建密钥
问题描述
前置知识:
所以我开始自己使用 docker 并将其安装在我的服务器上并启用了 TLS。我遵循了本教程:https ://docs.docker.com/engine/security/https/
本教程最终将为您提供 6 个文件:
- -r-------- ca-key.pem
- -r--r--r-- ca.pem
- -r--r--r-- cert.pem
- -r-------- key.pem
- -r--r--r--服务器证书.pem
- -r--------服务器密钥.pem
这些文件的所有者是root。我复制了ca.pem、cert.pem和key.pem,我用它们从我的本地搬运工实例连接。(实际上我只使用cert.pem和key.pem因为我只有客户端验证)
码头主机:
{
"hosts": [
"unix:///var/run/docker.sock",
"tcp://0.0.0.0:2376"
],
"storage-driver": "overlay2",
"tls": true,
"tlscacert": "/etc/docker/certs/ca.pem",
"tlscert": "/etc/docker/certs/server-cert.pem",
"tlskey": "/etc/docker/certs/server-key.pem",
"tlsverify": true
}
我的问题:
我工作的公司为我安装了 docker 并启用了 TLS,将所有pem文件放在我可以访问的目录中...问题是,我无法下载key.pem,因为所有者是 root,我无法访问给它。
我可以下载下一个文件:
- 卡佩姆
- 证书.pem
- 服务器-cert.pem
对我来说是可能的;只能访问这些文件,而不更改服务器上的任何内容,以通过 TLS 访问 docker ?如何创建自己的key.pem,或者有其他方法吗?
抱歉,如果这是常识,我只是无法在任何地方找到我的答案,或者我不知道我到底在寻找什么......
解决方案
是的,您可以针对该服务器上的 docker-daemon 工作,而无需为该服务器创建另一个密钥和证书。
在本地会话中下载server-cert.pem
并导出以下环境变量:
DOCKER_TLS_VERIFY="1"
DOCKER_CERT_PATH="server-cert.pem"
DOCKER_HOST= "tcp://HOST:2376"
现在您可以使用本地 docker-client 并使用服务器上的 docker-daemon。例如docker ps
,应该显示在远程 docker 上运行的容器。
推荐阅读
- android - 在 Android 上的多个片段上请求蓝牙适配器对象是否安全?
- javascript - 如何使用打字稿删除数组重复?
- javascript - 无法用 javascript 填充输入
- dgrid - dgrid 从 0.3 更新 - 值得吗?
- http - 用于大字符串有效负载的 HTTP GET
- javascript - 有没有办法在 Java Script 中从 WSDL 生成 Web 服务?
- sql - TOAD 数据点 Postgres SQL 字符串输出被截断
- forms - RenderDecoratedBox 需要合成尺寸:缺失
- javascript - Angular Reactive forms从指令验证控件
- javascript - 更改可见性后不显示元素