最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決docker的tls(ssl)證書過期問題

 更新時間:2021年03月29日 10:10:58   作者:sskywatcher  
這篇文章主要介紹了解決docker的tls(ssl)證書過期問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題現(xiàn)象:

[root@localhost ~]# docker image pull xxx.com.cn/centos7

Using default tag: latest

Error response from daemon: Get https://xxx.com.cn/v1/_ping: x509: certificate has expired or is not yet valid

可能的原因分析:

linux使用查看date查看當(dāng)前時間,與證書的有效時間作比對,得出具體的原因,可能為以下二種之一:

1.本機(jī)的時間不對;

2.Registry的證書確實已過期;

解決方法:

1.本機(jī)的時間不對;

修改本機(jī)時間即可

2.Registry的證書確實已過期;

對 Registry 創(chuàng)建 SSL 安全例外,放棄對 Registry 服務(wù)器證書合法性校驗,但是具有安全風(fēng)險.

insecure registries 使能后, Docker 將以以下步驟嘗試https連接:

首先嘗試使用HTTPS.

如果 HTTPS 連接可達(dá)但是證書不可用, 忽略證書錯誤;

如果 HTTPS 連接不可用, 使用 HTTP.

centos 在 /etc/docker/ 目錄下創(chuàng)建daemon的配置文件 daemon.json ,將你的目標(biāo) Registry 所處的 IP 地址段或者具體的服務(wù)域名端口號寫入 json 文件,

舉個例子,筆者的服務(wù)器所在網(wǎng)段為10.0.0.0/8.那么內(nèi)容如下:

{
 "insecure-registries" : ["10.0.0.0/8"]
}
 

也可以使用域名加端口號,示例如下:

{
 "insecure-registries" : ["myregistrydomain.com:5000"]
}

windows 則修改文件 C:\ProgramData\docker\config\daemon.json ,格式與linux操作的一樣.

重啟docker服務(wù).

查看是否生效,注意 Insecure Registries 字段.

[root@localhost ~]# docker info
 
docker info :
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 2
Server Version: 17.05.0-ce
Storage Driver: overlay
 Backing Filesystem: xfs
 Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9048e5e50717ea4497b757314bad98ea3763c145
runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228
init version: 949e6fa
Security Options:
 seccomp
 Profile: default
Kernel Version: 3.10.0-693.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 24
Total Memory: 62.74GiB
Name: localhost.localdomain
ID: 755F:OEFV:VP3S:BMGQ:VUFW:WGT5:YQHO:EW6T:AAVE:NHS2:TPV3:SBTJ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 10.0.0.0/8
 127.0.0.0/8
Live Restore Enabled: false

如何查看服務(wù)器證書有效期

以火狐瀏覽器為例

補(bǔ)充:Docker私有倉庫更換過期的自簽證書

更換Docker registry證書

拉取鏡像時報錯如下:

k8s@master:~/shiyu$ docker pull reg.netlab.com/tensorflow-cpu
Using default tag: latest
Error response from daemon: Get https://reg.netlab.com/v2/: x509: certificate has expired or is not yet valid

查詢/etc/docker/certs下的證書是否已過期

root@master:~# openssl x509 -in /etc/docker/certs.d/reg.netlab.com/reg.netlab.com.crt -noout -dates
notBefore=Apr 1 13:21:22 2019 GMT
notAfter=Mar 31 13:21:22 2020 GMT

顯然,該自簽證書在2020年3月31號已過期。

重新自簽新證書

創(chuàng)建~/certs文件夾存放key和密鑰

mkdir -p ~/certs

生成key

cd ~/certs
openssl genrsa -out reg.netlab.com.key 2048

生密鑰文件

openssl req -newkey rsa:4096 -nodes -sha256 -keyout reg.netlab.com.key -x509 -days 365 -out reg.netlab.com.crt

填寫相關(guān)信息

Country Name (2 letter code) [XX]:CN   # 你的國家名稱
State or Province Name (full name) []:guangdong
# 省份
Locality Name (eg, city) [Default City]:guagnzhou  # 所在城市
Organization Name (eg, company) [Default Company Ltd]:sysu
# 組織名稱
Organizational Unit Name (eg, section) []:netlab  # 組織單元名稱
Common Name (eg, your name or your server's hostname) []:reg.netlab.com # 域名
Email Address []:urmsone@163.com

至此,證書自簽完成。

將該證書添加到docker根證書中,重啟docker

注:由于是自簽名證書,默認(rèn)是不受Docker信任的,故而需要將證書添加到Docker的根證書中,Docker在CentOS 7/ubuntu 18中,證書存放路徑是/etc/docker/certs.d/域名:

添加證書到docker根證書中

mkdir -p /etc/docker/certs.d/reg.netlab.com
cp ~/certs/reg.netlab.com.crt /etc/docker/certs.d/reg.netlab.com/

重啟Docker

systemctl restart docker

替換Docker registry容器中的過期證書

查看registry容器ID

k8s@master:~$ docker ps |grep registry
3eb5eda4b75e  registry.docker-cn.com/library/registry:2 "/entrypoint.sh /etc…" 13 months ago  Up 44 minutes  0.0.0.0:443->5000/tcp registry
b84ea71a572f  f32a97de94e1        "/entrypoint.sh /etc…" 13 months ago  Up About an hour 0.0.0.0:5000->5000/tcp registry_mirror

根據(jù)ID查看rigstry的掛載路徑

k8s@master:~$ docker inspect 3eb5eda4b75e
...
"Binds": [
   "/root/certs:/certs",
   "/home/registry:/var/lib/registry"
  ]
...

將剛剛新生成的證書cp到/root/certs:/certs目錄下

root@master:~/certs# ll
總用量 16
drwxr-xr-x 2 root root 4096 Apr 1 2019 ./
drwx------ 8 root root 4096 May 2 14:06 ../
-rw-r--r-- 1 root root 2126 Apr 1 2019 reg.netlab.com.crt
-rw------- 1 root root 3272 Apr 1 2019 reg.netlab.com.key

重啟registry容器

k8s@master:~$ systemctl restart docker

至此,自簽證書更新完畢!

測試

k8s@master:~/shiyu$ docker pull reg.netlab.com/tensorflow-cpu
Using default tag: latest
latest: Pulling from tensorflow-cpu
Digest: sha256:68da50778a5f80e0676c4ca617299444fc71677a2d83cacccaf7a08d08cc1df6
Status: Image is up to date for reg.netlab.com/tensorflow-cpu:latest

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Docker Compose安裝本地maven方式

    Docker Compose安裝本地maven方式

    本文介紹了如何使用Docker Compose安裝Maven,并提供了腳本和配置路徑,通過運行Docker Compose,可以查看安裝結(jié)果,進(jìn)入容器后,可以查看Maven版本
    2024-12-12
  • Ubuntu 下通過 Docker 部署 NGINX 服務(wù)器的步驟詳解

    Ubuntu 下通過 Docker 部署 NGINX 服務(wù)器的步驟詳解

    今天分享如何在三豐云免費服務(wù)器上使用Docker部署NGINX服務(wù)器,Docker容器化平臺提升應(yīng)用可移植性,NGINX作為高性能HTTP和反向代理服務(wù)器,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • 優(yōu)化docker鏡像體積的方法詳解

    優(yōu)化docker鏡像體積的方法詳解

    鏡像的本質(zhì)是鏡像層和運行配置文件組成的壓縮包,構(gòu)建鏡像是通過運行 Dockerfile 中的 RUN 、COPY 和 ADD 等指令生成鏡像層和配置文件的過程,本文給大家介紹了如何優(yōu)化 docker 鏡像體積,需要的朋友可以參考下
    2025-03-03
  • Docker搭建RabbitMQ集群的方法步驟

    Docker搭建RabbitMQ集群的方法步驟

    本文主要介紹了Docker搭建RabbitMQ集群的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Docker使用Jumpserver搭建一個安全的堡壘機(jī)系統(tǒng)

    Docker使用Jumpserver搭建一個安全的堡壘機(jī)系統(tǒng)

    堡壘機(jī)作為一種重要的安全工具,能夠有效地管理服務(wù)器訪問權(quán)限,并提供會話審計功能,以保障系統(tǒng)的安全性和穩(wěn)定性,本文將介紹Jumpserver,并指導(dǎo)如何搭建和配置Jumpserver來實現(xiàn)安全的堡壘機(jī)管理,需要的朋友可以參考下
    2025-04-04
  • 解決docker run后容器出現(xiàn)Exited (0)情況的問題

    解決docker run后容器出現(xiàn)Exited (0)情況的問題

    這篇文章主要介紹了解決docker run后容器出現(xiàn)Exited (0)情況的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker安裝、創(chuàng)建鏡像、加載并運行NodeJS程序的詳細(xì)過程

    Docker安裝、創(chuàng)建鏡像、加載并運行NodeJS程序的詳細(xì)過程

    本文給大家介紹Docker安裝、創(chuàng)建鏡像、加載并運行NodeJS程序的相關(guān)知識,通過示例給大家詳細(xì)介紹創(chuàng)建一個nodejs程序的docker鏡像的方法,需要的朋友跟隨小編一起看看吧
    2021-06-06
  • 詳解修改docker時區(qū)及docker常用命令

    詳解修改docker時區(qū)及docker常用命令

    這篇文章主要介紹了詳解修改docker時區(qū)及docker常用命令,非常具有實用價值,需要的朋友可以參考下。
    2016-12-12
  • Docker搭建私有倉庫之Harbor的步驟

    Docker搭建私有倉庫之Harbor的步驟

    這篇文章主要介紹了Docker搭建私有倉庫之Harbor的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 使用Docker和Nginx部署Web服務(wù)的操作指南

    使用Docker和Nginx部署Web服務(wù)的操作指南

    本文給大家介紹了Docker和Nginx部署Web服務(wù)的完美指南,Docker是一種容器化技術(shù),它可以將應(yīng)用程序及其依賴項打包到一個獨立的、可移植的容器中,而Nginx則是一款高性能的Web服務(wù)器和反向代理服務(wù)器,感興趣的朋友可以參考下
    2024-01-01

最新評論

黎城县| 深水埗区| 探索| 静宁县| 黄石市| 揭阳市| 长武县| 始兴县| 太保市| 平利县| 堆龙德庆县| 凯里市| 墨江| 邵阳县| 威宁| 中山市| 镇宁| 广元市| 安化县| 江油市| 龙泉市| 张家界市| 游戏| 兴山县| 二连浩特市| 双柏县| 平昌县| 夏津县| 清水河县| 维西| 墨竹工卡县| 苍溪县| 翁牛特旗| 年辖:市辖区| 临洮县| 孙吴县| 航空| 郓城县| 图木舒克市| 横山县| 乐安县|