首页
首页
文章目录
  1. 简介
  2. 解决方法思路
  3. 方法一
  4. 方法二

docker x509 证书错误的几种解决方法

简介

docker仓库部署好之后,我们需要做的是在其它节点连接自己的仓库,经常会出现“x509 certificate signed by unknown authority.”错误。今天这篇文章就是记录下如何解决自建仓库出现x509错误的方法

解决方法思路

将自建的证书导入到node节点的/etc/docker/certs.d/域名/ca.crt文件中。

docker默认去/etc/docker/certs.d/目录找证书文件。

我这里以zhizhebuyan.com域名举例

方法一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
set -e
REGISTRY_DOMAIN=zhizhebuyan.com
REGISTRY_USER=admin
REGISTRY_PASSWD=Harbor12345
create_ca (){
mkdir -p /etc/docker/certs.d/${REGISTRY_DOMAIN}
cat >/etc/docker/certs.d/${REGISTRY_DOMAIN}/ca.crt <<EOF
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
EOF
}
login_it (){
docker login -u ${REGISTRY_USER} -p ${REGISTRY_PASSWD} -e op@herenit.com ${REGISTRY_DOMAIN}
}
init (){
if [ ! -d "/etc/docker/certs.d/${REGISTRY_DOMAIN}" ] || [ ! -f "/etc/docker/certs.d/${REGISTRY_DOMAIN}/ca.crt" ];then
create_ca && login_it;fi
}

该方法需要找到自建的证书

方法二

1
2
mkdir -p /etc/docker/certs.d/zhizhebuyan.com/
echo -n | openssl s_client -showcerts -connect zhizhebuyancom:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/docker/certs.d/zhizhebuyan.com/ca.crt

以上

End!

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫