由let's encrypt导致的certificate has expired,以及为了解决这个问题,导致docker无法启动的问题
过完国庆,发现部署的任务系统,无法访问自己的其它系统接口了,报的错是 certificate has expired,可是这个证书还有2个月才过期呀。一查下来才知道,原来是Let's Encrypt把DST Root CA X3改成了ISRG Root X1,导致低于openssl 1.1版本的,都会报 certificate has expired 的错误。
(https://stackoverflow.com/questions/69403020/axios-certificate-has-expired-on-valid-certificate)
(https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/)
怎么办,只能升级openssl,但是。。。心太大,居然用了yum update操作,导致系统773个更新,包括了docker,随着更新成功后,docker也成功的不能启动了。。。
随后卸载docker,再重新安装,仍然启动失败
(https://docs.docker.com/engine/install/centos/)
老老实实用 journalctl -xe 查看启动错误,发现是因为
ERROR: ZONE_CONFLICT: 'docker0' already bound to a zone
原来是docker0之前已经创建过了,用下面语句改名
firewall-cmd --zone=docker --change-interface=docker0
(https://stackoverflow.com/questions/65213831/failed-to-start-daemon-error-initializing-network-controller-error-creating-de)
随后成功启动docker,总算不用叫救护车了,感谢google,感谢stockflow,还有感谢Let's Encrypt,让我学到了一课。
心得:不要随便yum update,不要随便yum update,不要随便yum update!