push私有库时报"x509: certificate has expired or is not yet valid"

查baidu多说是服务器时间有问题,而我的服务器时间没有问题,私有库容器的时间确实有问题,于是在容器里执行了以下命令

~ # apk add --no-cache tzdata          //安装时区相关包

~ # echo "Asiz/Shanghai" > /etc/timezone

~ # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

参考的是这个文章:https://www.cnblogs.com/doclove/p/7444426.html

至此容器与服务器的时间都没有问题了,但情况依旧没有解决。后翻查自己生成私有库的文章,使用的是以下命令

openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt

这明显就是一年后过期,估计是我自己的私有证书真的过期了。过期的处理方法这有一文章说得比较完整。

https://blog.csdn.net/Urms_handsomeyu/article/details/105890562

我没有完全按照上面的处理过程。只是简单的以下几个过程

1。重新生成3650天的私有密要

2。复制私有密要domain.crt文件到几个地方。:1)私有库container指定的目录、2)各服务器/etc/docker/certs.d/yourlocal.server.name/ca.crt

其中的yourlocal.server.name需要换为您自己的服务器地址。

3。重启私有库的container:docker container restart 0e4106def49a

问题解决。

原文地址:https://www.cnblogs.com/kevin-Y/p/14137249.html