我已经在本地计算机上使用docker-machine生成了群集集群,并希望能够将容器从其他主机部署到群集。
问题是我无法确定要使用哪些证书,或者我是否正确链接了它们。
我的所有尝试都导致
x509: certificate signed by unknown authority...
我是否必须在要授予访问权限的每个主机上生成新证书?
我曾尝试从
~/.docker/machine/certs
和.config
文件从“~/.docker/machine/machines/swarm-master
”复制证书,但每次尝试使用ozt_code和docker-machine
时都会大吼大叫。
最佳答案
每次遇到证书问题时(例如:未正确安装),您都可以向Install registry certificates on client Docker daemons报告。
它与Docker注册表有关,但也适用于您可能必须在Docker计算机上安装的任何证书(无论是boot2docker证书还是常规的Ubuntu或RHEL / Centos服务器)。
在缺少证书的主机中,请尝试使用openssl s_client -connect
命令来获取所述证书,就像我在this script add_reg_crt.sh
中所做的那样,将“另一台主机”作为boot2docker主机:
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
关于docker - 迁移docker-machine生成的机器证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37435209/