我在本地计算机上使用docker-machine生成了一个swarm集群,并且希望能够将容器从不同的主机部署到swarm。
问题是我无法确定要使用哪些证书或我是否正确链接它们。
我所做的所有尝试都产生了
x509: certificate signed by unknown authority...
我必须在每个要访问的主机上生成新证书吗?
我尝试从~/.docker/machine/certs
和.config
文件中复制我的证书,来自" ~/.docker/machine/machines/swarm-master
"但只要我尝试使用它们,docker-machine
和docker
就会对我大喊大叫。
答案 0 :(得分:1)
每次出现证书问题时(如:未正确安装),您都可以向Install registry certificates on client Docker daemons报告。
它是关于docker注册表的,但也适用于您可能必须在docker机器上安装的任何证书(无论是boot2docker,还是普通的Ubuntu或RHEL / Centos服务器。
在缺少证书的主机中,尝试使用openssl s_client -connect
命令获取所述证书,就像我在this script add_reg_crt.sh
中一样,使用"其他主机"是一个boot2docker one:
if [[ ! -e /var/lib/boot2docker/registry.crt ]]; then
openssl s_client -connect kv:5000 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM | sudo tee /var/lib/boot2docker/registry.crt
fi
rline=$(tail -2 /var/lib/boot2docker/registry.crt | head -1)
if [[ "$(grep ${rline} /etc/ssl/certs/ca-certificates.crt)" == "" ]]; then
cat /var/lib/boot2docker/registry.crt | sudo tee -a /etc/ssl/certs/ca-certificates.crt
fi
答案 1 :(得分:0)
我写了一个小节点实用程序,用于导入和导出连接到它们所需的docker机器证书https://www.npmjs.com/package/@mumbacloud/dmport这将返回带有嵌入证书的json