配置Harbor仓库本机与其他主机使用Docker login+域名连接

简介: 配置Harbor仓库本机与其他主机使用Docker login+域名连接

目的:


 在harbor本机或者其他主机可以使用docker login +域名 直接连接harbor主机仓库,不用在使用IP地址连接。


环境介绍:

Harbor客户端:172.21.xxx.xxx      harbor-images
CentOS Linux release 7.6.1810 (Core)
Docker 13.1.1
Docker compose 1.25.5
Harbor 1.5.0
Nginx客户端:172.21.ggg.ggg
CentOS Linux release 7.6.1810 (Core)
Docker 19.03.8
Docker compose 1.18.0

Harbor客户端修改:


1.修改/etc/hosts文件

[root@harbor harbor]# vim /etc/hosts
::1     localhost       localhost.localdomain   localhost6      localhost6.localdomain6
127.0.0.1       localhost       localhost.localdomain   localhost4      localhost4.localdomain4
172.21.xxx.xxx  iZ8vb4u5g0xxxxxxxxxx harbor-images    //添加登录域名

2.修改harbor目录下harbor.cfg文件:


 必须在harbor目录下运行,否则会报错。

[root@harbor ~]# cd /mnt/app/harbor/harbor/   
[root@harbor harbor]# docker-compose stop   //停止harbor服务
[root@harbor harbor]# vim harbor.cfg 
...
_version = 1.5.0
#The IP address or hostname to access admin UI and registry service.
#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname = harbor-images      //修改为域名
[root@harbor harbor]# ./prepare     //加载配置文件

3.修改/usr/lib/systemd/system/下的docker.service文件:

[root@harbor harbor]# vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service
Requires=docker-cleanup.timer
[Service]
Type=notify
NotifyAccess=main
EnvironmentFile=-/run/containers/registries.conf
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \
          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
          --default-runtime=docker-runc \
          --exec-opt native.cgroupdriver=systemd \
          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
          --init-path=/usr/libexec/docker/docker-init-current \
          --seccomp-profile=/etc/docker/seccomp.json \
          --insecure-registry=harbor-images \        //添加为域名
          $OPTIONS \
[root@harbor harbor]# systemctl daemon-reload
[root@harbor harbor]# systemctl restart docker
[root@harbor harbor]# docker-compose start    //启动harbor服务

注意:


 这里添加的 --insecure-registry=IP/主机名 也是解决连接harbor时https报错的其中一步。


docker login连接https报错解决:https://blog.csdn.net/qq_44895681/article/details/105573702


4.测试本机域名连接

[root@harbor harbor]# docker login harbor-images
Username (admin): admin
Password: 
Login Succeeded      //登录成功

Nginx客户端修改:


1.修改/etc/hosts文件

[root@nginx ~]# cat /etc/hosts
::1    localhost   localhost.localdomain   localhost6  localhost6.localdomain6
127.0.0.1    localhost   localhost.localdomain   localhost4  localhost4.localdomain4
172.21.ggg.ggg    iZ8vbg29xxxxxxxxx
172.21.xxx.xxx  harbor-images    //增加harbor主机的IP及登录的域名

2.修改/etc/docker/目录下daemon.json文件

[root@nginx ~]# vim /etc/docker/daemon.json
{
"graph":"/mnt/app/docker/data",
"registry-mirrors": ["https://b34xxxxx.mirror.aliyuncs.com"],
"insecure-registries":["harbor-images"]
}
[root@nginx ~]# systemctl daemon-reload
[root@nginx ~]# systemctl restart docker

 添加"insecure-registries":["harbor-images"]中harbor主机设置的登录域名,这里的insecure参数如果是写在/usr/lib/systemd/system/docker.service中,如上面harbor主机那样,那么就直接修改/usr/lib/systemd/system/docker.service中该项配置即可,这个参数只能在docker.service或者daemon.json其中一个配置文件中。


3.测试nginx客户端域名连接harbor主机:

[root@nginx ~]# docker login harbor-images
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded       //登录成功

 如果更改完配置并且重启docker成功后还是无法使用域名连接harbor主机服务,可以尝试断开nginx客户端SSH连接,重新连接nginx客户端再进行域名连接harbor主机服务。

相关文章
|
10月前
|
Kubernetes 关系型数据库 文件存储
手把手教你完成极空间 NAS Docker 镜像加速配置
本教程详细介绍了如何在极空间NAS上配置轩辕镜像加速器,以提升Docker镜像的下载速度与稳定性。内容涵盖账号注册、网络确认、加速器设置及验证方法,并提供常见问题解决方案,帮助用户高效完成容器化应用部署。
4053 1
|
Prometheus 监控 Cloud Native
Prometheus配置docker采集器
本文介绍了如何使用 Prometheus 监控 Docker 容器,涵盖环境准备、配置文件编写及服务启动等步骤。首先确保安装 Docker 和 Docker Compose,接着通过 `docker-compose.yml` 配置 Prometheus 和示例应用。创建 `prometheus.yml` 指定数据采集目标,最后用 `docker-compose up -d` 启动服务。文章还展示了甘特图和类图,帮助理解服务状态与关系,助力提升系统可靠性和可维护性。
587 11
|
10月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
6111 60
|
Docker 容器 文件存储
飞牛fnOS Docker镜像加速配置全攻略
本文介绍了如何在飞牛fnOS中配置Docker镜像加速服务,通过设置轩辕镜像仓库加速器,提升镜像拉取速度与稳定性。内容涵盖配置前准备、加速源设置、首选加速源调整及使用指南,帮助用户高效完成镜像操作。
7534 56
|
域名解析 应用服务中间件 Shell
使用nps配置内网穿透加域名解析
使用nps配置内网穿透加域名解析
1186 77
|
10月前
|
Java 分布式数据库 Docker
使用Docker配置并连接HBase的Java API
本流程概要的解释了如何在Docker上配置并启动HBase服务,并通过Java API进行连接和操作表,不涉及具体的业务逻辑处理和数据模型设计,这些因应用而异需由开发者根据实际需求进行实现。
471 13
|
11月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
1373 4
|
数据建模 网络安全
阿里云SSL证书不同类型DV、OV和EV如何收费?单域名和通配符SSL价格整理
阿里云SSL证书提供免费和收费版本,涵盖DV、OV、EV多种类型。收费证书品牌包括DigiCert、GlobalSign等,价格从238元/年起。免费SSL证书由Digicert提供,单域名有效3个月,每个实名主体每年可领取20个。具体价格和详情见阿里云SSL官方页面。
|
人工智能
2024年阿里云域名热搜词大盘点
2024年阿里云域名热搜词大盘点
617 3