docker的harbor倉庫登錄問題小結
更新時間:2024年09月28日 16:23:41 作者:周湘zx
在使用Docker?Harbor時,可能會因為證書信任問題或DNS解析問題導致登錄失敗,解決方法包括將自簽名證書添加到系統(tǒng)的可信證書存儲中,本文給大家介紹docker的harbor倉庫登錄問題,感興趣的朋友一起看看吧
參考鏈接:Docker login Harbor報錯解決:Error response from daemon: Get https:..-阿里云開發(fā)者社區(qū)
一、問題描述
問題:
掛機或者掛機重啟之后harbor登錄不上

查看日志查找問題:
[root@docker ~]# journalctl -u docker.service -n 50
[root@docker reg.zx.org]# docker logs 容器id
包含以下問題
# 1、容器重啟失敗 level=error msg="failed to start container" container=6bf913f9a5b0c395ca68505d39c3f0aa2e25054730bec1d49b64cf70a1530809 error="failed to create ta # ?2、注冊表問題 level=error msg="Handler for POST /v1.46/auth returned error: Get \"https://reg.zx.org/v2/\": dial tcp 172.25.254.111:443: connect: connection refused" ?# 3、DNS查詢失敗 level=error msg="[resolver] failed to query external DNS server" # 4、容器無法啟動 level=error msg="failed to start container" container=...

二、證書信任問題
Self-signed Certificate (自簽名證書)沒有通過可信的證書頒發(fā)機構 (CA) 簽署,所以驗證失敗,提示 verify error:num=18:self-signed certificate。
將自簽名證書添加到系統(tǒng)的可信證書存儲中
#生成認證key和證書 [root@docker-node1 ~]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/zx.org.key \ > -addext "subjectAltName = DNS:reg.zx.org" \ > -x509 -days 365 -out certs/zx.org.crt [root@local ~]# mkdir /data/certs -p [root@local ~]# cp /root/certs/ /data/ -r [root@local certs]# ls /data/certs zx.org.crt zx.org.key
# Docker 中信任自簽名證書 # 將證書復制到 Docker 的信任目錄: Docker 在 /etc/docker/certs.d/ 下的特定目錄中查找每個鏡像倉庫的信任證書。 [root@docker ~ ]# mkdir -p /etc/docker/certs.d/reg.zx.org/ [root@docker ~ ]# cp [root@docker ~ ]# cd certs/ [root@docker certs]# cp zx.org.crt /etc/docker/certs.d/reg.zx.org/zx.org.crt
# 將證書添加到信任存儲 # 在 RHEL9中,系統(tǒng)使用 update-ca-trust 工具來管理系統(tǒng)信任存儲。 # 將自簽名證書文件 .crt 復制到 /etc/pki/ca-trust/source/anchors/ 目錄中 [root@docker reg.zx.org]# cp ca.crt /etc/pki/ca-trust/source/anchors/ # 更新 CA 證書信任存儲 [root@docker reg.zx.org]# update-ca-trust extract [root@docker reg.zx.org]# vim /etc/rc.d/rc.local # 開機自啟動文件(將“update-ca-trust extract”寫入) # 驗證證書是否被信任 [root@docker reg.zx.org]# openssl s_client -connect reg.zx.org:443 …… Verify return code: 0 (ok) ……
三、DNS解析問題
[root@docker certs]# vim /etc/docker/daemon.json
#添加或修改DNS解析地址
{
"dns": ["8.8.8.8", "8.8.4.4","114.114.114.114"]
}
[root@docker certs]# systemctl daemon-reload
[root@docker certs]# systemctl restart docker四、解決
# 解決方案 [root@docker harbor]# systemctl restart docker # 重啟docker [root@docker harbor]# docker ps -a # 查看容器是否全部運行 [root@docker harbor]# docker compose up -d # 若無,開啟運行所有容器 [root@docker-harbor ~]# docker login reg.zx.org -uadmin -p123 # 再次登錄

到此這篇關于docker的harbor倉庫登錄問題的文章就介紹到這了,更多相關docker harbor倉庫登錄內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

