由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!