日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

解決docker訪問外部https數字證書問題_docker

作者:maxfang ? 更新時間: 2022-10-30 編程語言

一般我們構建的 docker 鏡像使用的都是 alpine linux 系統,默認是不帶 ca-certificates 根證書的,導致無法識別外部 https 攜帶的數字證書。
在訪問的時候,會拋出509:certificate signed by unknown authority錯誤,導致 docker 容器的接口服務返回報錯。

為了解決證書驗證的問題,我們需要在構建 docker 鏡像的時候將 ca-certificates 根證書裝上。
在 Dockerfile 中加入如下內容:

RUN apk --no-cache add ca-certificates \
  && update-ca-certificates

對于已經構建好的鏡像,如果我們想手動安裝的話,可以使用如下方法。

# 進入容器
docker exec -it '容器ID或容器名稱' bash
# 安裝根證書
apk --no-cache add ca-certificates && update-ca-certificates
# 若出現類似如下的警告,忽略
WARNING: ca-certificates.crt does not contain exactly one certificate or CRL: skipping
# 重啟容器
docker restart '容器ID或容器名稱'

補充:下面看下docker 訪問外部 https 的數字證書驗證問題

我們在構建 docker 鏡像時一般使用的是 alpine linux 系統,默認是不帶 ca-certificates 根證書的,導致無法識別外部 https 攜帶的數字證書。

那么,在訪問的時候就會拋出 x509: certificate signed by unknown authority 的錯誤,導致 docker 容器的接口服務返回 500。

為了解決證書驗證的問題,我們要在構建 docker 鏡像的時候把 ca-certificates 根證書給裝上,這樣就能識別來自外部 https 的數字證書了。

在編輯 Dockerfile 的時候加入以下命令即可:

RUN apk --no-cache add ca-certificates \
? && update-ca-certificates

如果不想重新構建鏡像的話,可以直接進入容器:

$ docker exec -it '容器ID或容器名稱' bash

然后執行安裝根證書命令:

$ apk --no-cache add ca-certificates && update-ca-certificates

出現以下警告,可以忽略:

WARNING: ca-certificates.crt does not contain exactly one certificate or CRL: skipping

然后重啟容器即可:

$ docker restart '容器ID或容器名稱'

原文鏈接:https://www.cnblogs.com/immaxfang/p/16656683.html

欄目分類
最近更新