docker的harbor仓库登录问题小结

 更新时间:2024年09月28日 16:23:41   作者:周湘zx  
在使用Docker Harbor时,可能会因为证书信任问题或DNS解析问题导致登录失败,解决方法包括将自签名证书添加到系统的可信证书存储中,本文给大家介绍docker的harbor仓库登录问题,感兴趣的朋友一起看看吧

参考链接:Docker login Harbor报错解决:Error response from daemon: Get https:..-阿里云开发者社区

一、问题描述 

问题:

挂机或者挂机重启之后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 (自签名证书)没有通过可信的证书颁发机构 (CA) 签署,所以验证失败,提示 verify error:num=18:self-signed certificate

将自签名证书添加到系统的可信证书存储中

#生成认证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中,系统使用 update-ca-trust 工具来管理系统信任存储。
# 将自签名证书文件 .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仓库登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker容器内目录显示异常的解决方法

    Docker容器内目录显示异常的解决方法

    在容器化技术日益普及的当下,Docker等容器平台已成为众多开发者与运维人员的得力助手,然而在使用容器的过程中,偶尔会遇到一些令人头疼的问题,比如进入容器后不显示目录,这无疑会给容器的管理和操作带来诸多不便,所以本文给大家介绍了Docker容器内目录显示异常的解决方法
    2025-01-01
  • 一文详解如何修改Docker的默认存储路径

    一文详解如何修改Docker的默认存储路径

    这篇文章主要介绍了关于如何修改Docker的默认存储路径的相关资料,默认安装的情况下,会使用 /var/lib/docker/ 目录作为存储目录,用以存放拉取的镜像和创建的容器等,这个路径是系统存储目录,一般空间会比较小,需要的朋友可以参考下
    2023-08-08
  • Docker下安装ElasticSearch和Kibana的示例代码

    Docker下安装ElasticSearch和Kibana的示例代码

    这篇文章主要介绍了Docker下安装ElasticSearch和Kibana的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • docker部署redis的具体实现

    docker部署redis的具体实现

    在开发中,我们经常会遇到使用redis的场景,本文主要介绍了docker部署redis的具体实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • docker配置openGauss数据库的方法详解

    docker配置openGauss数据库的方法详解

    这篇文章主要介绍了docker配置openGauss数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker启动ES内存溢出的解决方案

    docker启动ES内存溢出的解决方案

    这篇文章主要介绍了docker启动ES内存溢出的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 利用docker搭建LAMP运行环境教程详解

    利用docker搭建LAMP运行环境教程详解

    LAMP相信对大家来说都不陌生, Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器,所以这篇文章给大家介绍利用docker快速搭建LAMP运行环境的方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • Docker中部署Mino并挂载配置文件的项目实践

    Docker中部署Mino并挂载配置文件的项目实践

    本文主要介绍了Docker中部署Mino并挂载配置文件的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Docker容器连接实现步骤解析

    Docker容器连接实现步骤解析

    这篇文章主要介绍了Docker容器连接实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • docker中mysql开启日志的实现步骤

    docker中mysql开启日志的实现步骤

    本文主要介绍了docker中mysql开启日志的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论