经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
基于Harbor构建docker私有仓库的方法
来源:jb51  时间:2021/12/8 12:44:06  对本文有异议

一.harbor简介

基于镜像的复制策略;支持LDAP/AD域,通过VPN连接域使用;图像删除和垃圾收集;图像UI,方便;审计,此功能使用较少,一般企业中用ELK收集、分析日志;RESTful API

一.harbor构建私有仓库

1.上传dock-compose,并设置权限

  1. [root@harbor ~]# cd /usr/local/bin/
  2. [root@harbor bin]# rz -e
  3. [root@harbor bin]# ls
  4. docker-compose
  5. [root@harbor bin]# chmod +x docker-compose

3、安装harbor-offline-installer-v1.2.2

  1. [root@harbor bin]# cd /usr/local/
  2. [root@harbor local]# rz -e
  3. [root@harbor local]# tar zxvf harbor-offline-installer-v1.2.2.tgz

4、配置Harbo参数文件

  1. [root@harbor local]# vim /usr/local/harbor/harbor.cfg
  2. #修改第五行
  3. hostname = 192.168.29.77

5、启动Harbor

  1. [root@harbor local]# cd /usr/local/harbor/
  2. [root@harbor harbor]# ls
  3. [root@harbor harbor]# sh install.sh

6、查看Harbor启动镜像和容器

(1)查看镜像

  1. docker images

(2)检查服务容器是否开启

  1. cd /usr/local/harbor/
  2. docker-compose ps

7、在UI界面创建项目

浏览器访问访问http://192.168.32.15,默认的管理员用户名和密码是 admin/Harbor12345。

?登陆后界面:

添加项目

?8、在本地测试仓库功能

此时可使用Docker命令在本地通过127.0.0.1来登录和推送镜像。默认情况下,Register服务器在端口80上侦听。

(1)登录本地私有仓库

  1. docker login -u admin -p Harbor12345 http://127.0.0.1

(2)下载镜像进行测试

  1. docker pull nginx

(3)镜像打标签

  1. docker tag nginx 127.0.0.1/test_items/centos:nginx_v1
  2. docker images

(4)上传镜像到Harbor

  1. docker push 127.0.0.1/test_items/centos:nginx_v1

9、在客户端上,上传镜像

上述操作都是在Harbor服务器本地操作。如果其他客户端上传镜像到Harbor,就会报如下错误。出现这问题的原因Docker Registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交互时出现以下错误。

(1)错误现象

  1. docker login -u admin -p Harbor12345 http://192.168.29.77

(2)解决方法

  1. vim /usr/lib/systemd/system/docker.service
  2. #修改内容地方
  3. ......
  4. ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.29.33 --containerd=/run/containerd/containerd.sock
  5. ......
  6. #重启服务
  7. systemctl daemon-reload
  8. systemctl restart docker
  9. #再次登录
  10. docker login -u admin -p Harbor12345 http://192.168.29.33

(3)上传镜像

  1. #下载tomcat镜像
  2. docker pull tomcat
  3. docker images
  4. #打标签
  5. docker tag tomcat 192.168.32.15/test_items/centos:tomcat_v1
  6. #上传到本地仓库
  7. docker push 192.168.32.15/test_items/centos:tomcat_v1

三、维护管理Harbor

Harbor可以使用docker-compose来管理Harbor。一些有用的命令如下所示,必须在与docker-compose.yml相同的目录中运行。

修改Harbor.cfg配置文件所需选项的步骤:要更改Harbour的配置文件时,请先停止现有的Harbor实例并更新Harbor.cfg;然后运行prepare脚本来填充配置;最后重新创建并启动Harbour的实例。

1、停止现有的 Harbor 实例

  1. cd /usr/local/harbor/
  2. docker-compose down -v

2、修改配置文件 Harbor.cfg

  1. cd /usr/local/harbor/
  2. vim harbor.cfg

3、运行prepare脚本来填充配置

  1. cd /usr/local/harbor/
  2. ./prepare

4、重启服务

  1. cd /usr/local/harbor/
  2. docker-compose up -d

四、创建Harbor用户

1.新建用户

?

2、在客户端上操作,删除之前打标签的镜像

  1. docker rmi 192.168.29.77/test_items/centos:tomcat_v1

3、测试创建的新用户能否使用

  1. #注销登录
  2. docker logout 192.168.29.77
  3. #使用新创建的用户和密码登录私有仓库
  4. docker login 192.168.29.77
  5. Username: zhangsan
  6. Password: #输入密码
  7. #查看镜像(没下载之前)
  8. docker images
  9. #从私有仓库下载镜像
  10. docker pull 192.168.29.77/test_items/centos:nginx_v1
  11. #查看镜像(下载之后)
  12. docker images

4、移除Harbor服务容器以及全部数据

移除Harbor服务容器同时保留镜像数据/数据库

1)在Harbor服务器上操作

  1. cd /usr/local/harbor/
  2. docker-compose down -v

(2)如需重新部署,需要移除Harbor服务容器全部数据,持久数据,如镜像。数据库等在宿主机的/data/目录下,日志在宿主机的/var/log/Harbor/目录下。

到此这篇关于Harbor构建docker私有仓库的文章就介绍到这了,更多相关Harbor docker私有仓库内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号