docker - 迁移docker-machine生成的机器证书

标签 docker docker-machine docker-swarm

我已经在本地计算机上使用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/

相关文章:

google-chrome - Chrome 浏览器在 chrome 节点 Docker 容器中运行多个 chrome 浏览器时崩溃

mysql - docker 无法使用不同的用户从本地主机连接到 mariadb

docker - 生产中每台主机应该存在多少个容器?服务应该如何拆分?

docker - 当我们显示Docker机器时,DOCKER字段是什么?

windows - Openshift3 中的 "User "系统 "cannot get securitycontextconstraints at the cluster scope"

docker - 如何删除 swarm 中未使用的 docker 镜像?

docker - Traefik 在 docker swarm 模式下将容器 ip (10.255.0.2) 作为远程地址转发

docker - 在Docker容器重启时执行相同的入口点脚本

docker - 网络插件未准备好 : cni config uninitialized

mongodb - 启动项目+Docker compose时遇到错误