[Docker] 在 Mac 上 docker push 時出現 certificate signed by unknown authority?

[Docker] 在 Mac 上 docker push 時出現 certificate signed by unknown authority?

之前 使用 skopeo 時,出現 failed to verify certificate 錯誤訊息

結果後來在使用 docker push 時,也出現一樣的錯誤:

$ docker push harbor.test.com/aaa

The push refers to repository [harbor.test.com/aaa]
Get "https://harbor.test.com/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority

 

這該怎麼解呢?

查了一下,在 Mac 上可以如此操作~

 

1. 取得 Docker registry 的 HTTPS 憑證

執行下面指令,取得 harbor.test.com:443 的 HTTPS 憑證,

並存到 test.pem 檔案裡:

echo -n | openssl s_client -showcerts -connect harbor.test.com:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > test.pem

 

2. 將 HTTPS 憑證加到 Mac 的 Keychain

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain test.pem

 

3. 重啟 Docker Desktop for Mac

這邊我是用 UI 的方式將 Docker Desktop Quit 之後,再重新打開~

重開之後,再執行 docker push,已經可以正常執行囉~

$ docker push harbor.test.com/aaa

The push refers to repository [harbor.test.com/aaa]
e533cbb1bb96: Pushed
f4e767328c91: Pushed

 

參考資料:Mac docker x509: certificate signed by unknown authority

 

(本頁面已被瀏覽過 53 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料