Member-only story
DevOps鬼故:SSL CA証書唔見哂
臨收工有人搵我,話container入面嘅/etc/ssl入面吉咗,直接影響係所有SSL/TLS connection因為冇咗CA cert而唔work。
但如果start一個新container又正常喎。
保留現場
不過呢個project細、deployment好陽春,一定要listen喺固定port。一方面production爛咗趕住要整返好,但又唔可以毀滅現場喎,如果唔係就會變成無頭冤案。
先用一個docker commit將container save成一個image。噉樣production就可以恢復運作先。
調查原因
google一下有冇tooling可以將layer changes視覺化,又真係有㗎喎:
二話不說裝來睇下,揀最新嗰個layer,hide咗啲Unmodified之後第一個見到係openssl有變更,唔通中咗毒?
但sha256sum過一個正常image同呢個container嘅openssl,一模一樣又冇分別喎。
然後再掃落啲,仲有個/var/log/unattended-upgrades/unattended-upgrades-dpkg.log嘅變更
原來container自己喺凌晨run咗apt upgrade,upgrade咗openssl,然後不明原因整爛咗/etc/ssl。
水落石出
噉個問題即係?因為Dockerfile個FROM用咗ubuntu來做底囉。
事關ubuntu image係並非為container運行而整。file咗個bug,請同事乖乖轉用phusion/baseimage啦。
至於兩者有乜分別,點解ubuntu image唔適合,請移玉步自己睇個README。