Docker image registry:2 無法使用 htpasswd 出現 /bin/sh: htpasswd: not found

跑 CI/CD 發生 Error 了 OMG …

最近在跑 CI/CD 的時候發生了 /bin/sh: htpasswd: not found 的問題

發生 /bin/sh: htpasswd: not found 的原因

研究了一下發現主要是在更新 registry:2.7 的時候移除了 apache2-utils,而為什麼會移除呢?是因為 CVE-2020-1927 and CVE-2020-1934,如果想要看 Code 可以參考 commit,其實受到波及的人滿多的可以在 distribution-library-image#106 閱讀比較詳細的討論

解決方法

目前沒有看到什麼比較標準的解決方法,不過要讓目前的程式可以繼續跑可以先使用舊版的 Docker image 來解決,先止血吧 XD

FROM registry:2

修改成

FROM registry:2.6.2

參考資料