用Harbor搭建Docker镜像仓库

时间:2024-03-27 08:08:40

简介:

  Harbor是一个用于存储Docker镜像的企业级Registry服务;本章将介绍如何搭建Harbor Registry!

Github官方安装文档:

  https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

1.下载Harbor软件包:

  可以去Github上查看相关版本,本次版本使用的是1.5.2;URL:https://github.com/goharbor/harbor下载离线安装版本(Harbour offline installer),建议下载到本地之后再传送到服务器上,文件大约1GB左右;

2.上传至服务器:

    用Harbor搭建Docker镜像仓库

3.解压软件包

app]# tar zxvf harbor-offline-installer-v1.5.2.tgz

 4.查看配置文件信息

 
~]# vim /app/harbor/harbor.cfg hostname = hadoop2.kaikai.com // 本机在互联网可被访问的主机名或IP地址
ui_url_protocol = http // 协议
max_job_workers = 50 // 最大并发请求
customize_crt = on // 是否使用自定义证书
harbor_admin_password = Harbor12345 // 管理员密码
db_password = root123 // mysql密码,如果不修改会默认启动一个mysql容器并且密码为root123
 

5.启动服务

 

harbor]# ./install.sh --with-clair                              // clair可以用来扫描镜像漏洞

[Step 0]: checking installation environment ...

Note: docker version: 18.09.6
✖ Need to install docker-compose(1.7.1+) by yourself first and run this script again.  // 第一次运行会提示安装docker-compose

harbor]# yum -y install docker-compose            // 来自于epel源

harbor]# ./install.sh                            // 等待一段时间会出现如下信息,说明harbor中镜像已经安装并且启动成功

用Harbor搭建Docker镜像仓库

harbor]# ss -nlt             // 会查看到80端口及443等

LISTEN 0 128 :::443 :::*
LISTEN 0 128 :::4443 :::*

LISTEN 0 128 :::80 :::*

 

 6.网页端访问harbor(http://IP)

    默认用户名为"admin",密码为"Harbor12345"(可在配置文件中修改)

7.详细步骤操作请参阅"https://github.com/goharbor/harbor/blob/master/docs/user_guide.md"

8.停止Harbor使用

~]# docker-compose stop

 9.镜像的上传和下载

  • 在项目位置点击新建项目,且给项目命名用Harbor搭建Docker镜像仓库
  • 随后修改本地docker配置文件,不采用https方式
 
 ~]# vim /etc/docker/daemon.json { "insecure-registries": ["hadoop2.kaikai.com"] }
 ~]# systemctl restart docker
 
  • 查看本地要推送的镜像并修改指定标签
~]# docker images
~]# docker tag ubuntu:18.04 hadoop2.kaikai.com/test/ubuntu:v0.1

用Harbor搭建Docker镜像仓库

用Harbor搭建Docker镜像仓库

  • 推送镜像到harbor上
~]# docker push hadoop2.kaikai.com/test/ubuntu:v0.1

用Harbor搭建Docker镜像仓库

  • 网页端查看是否推送成功

用Harbor搭建Docker镜像仓库

 

如果推送报错,则需要登录一下docker

sudo docker login --username=admin 192.168.126.131