报错的情况:
在为docker服务器配置tls加密通讯,前置流程已经完成 最后连接时出现
[root@server1 docker]# docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H tcp://master:4399 pull centos
Using default tag: latest
error during connect: Post https://master:4399/v1.40/images/create?fromImage=centos&tag=latest: x509: certificate has expired or is not yet valid
原因:
2个docker服务器时间不同步 一台为2020.12.3一台为2020.12.4导致第一天服务器发布的证书有效期是从12.4开始的 而client发现证书还没启用,所以报错
解决方案:
快速的解决方案是直接将client的时间改为12.4 ,但是会导致时间错误,所以最好是将2台服务器都设置任务计划 每隔一段时间和时间服务器同步一下然后重新创建tls的证书