1. 程式人生 > 其它 >由let's encrypt導致的certificate has expired,以及為了解決這個問題,導致docker無法啟動的問題

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