Bootstrap

Docker部署 Harbor

系列文章目录

Docker部署 registry
Docker搭建 svn
Docker部署 Harbor
Docker 部署SQL Server 2017
Docker 安装 MS SqlServer
Docker部署 Oracle12c
Docker部署Jenkins



前言

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署企业内部的私有环境Registry是非常必要的,Harbor和docker中央仓库的关系,就类似于nexus和Maven中央仓库的关系,Harbor除了存储和分发镜像外还具有用户管理,项目管理,配置管理和日志查询,高可用部署等主要功能。


一、Harbor安装有3种方式

  • 在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
  • 离线安装:安装包包含部署的相关镜像,因此安装包比较大
  • OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor

这里我们只介绍离线安装方式。

二、安装步骤

1. 从github官方地址下载安装包

官方地址:https://github.com/goharbor/harbor/releases
这里我选的是v.2.4.2版本。
在这里插入图片描述
将其在下到本地任意目录都可以,我这里将其下载到桌面。

2. 解压harbor文件

在这里插入图片描述

# 解压该文件 
tar -xzvf harbor-offline-installer-v2.4.2.tgz

3. 进入解压目录harbor修改 harbor.yml.tmpl配置

从解压缩的harbor目录中找到 harbor.yml.tmpl 配置模板文件,修改里面的如下信息。

# 进入harbor目录
cd /home/yangpengfei/Desktop/harbor
# 编辑harbor.yml.tmpl
vim harbor.yml.tmpl 

在这里插入图片描述
在这里插入图片描述

  • hostname 对外访问的域名或ip
  • port 对外访问的端口号
  • harbor_admin_password 登录密码

说明:默认账号为admin,密码如果没有修改harbor12345。我们只需要修改以上3个地方,并且将https节点相关配置全部注释,其他配置节点都无需做修改了。

4. 将修改好的harbor.yml.tmpl模板文件改名为harbor.yml

5. 执行harbor目录中的安装命令

# 执行harbor安装命令 
sudo ./install.sh

在这里插入图片描述
在这里插入图片描述
说明: 执行完安装命令后,那么就会生成相关的镜像、容器,并且容器都会启动。同时也会在当前目录下生成容器编排文件docker-compose.yml。下次我们在启动该harbor容器的使用就是用编排容器命令启动。下次启动命令:docker-compose up –d,停止容器并删除 docker-compose down

三、验证

1. 登录并汉化

输入当时配置的ip地址、账号、密码等信息,登录harbor网页。
在这里插入图片描述
在这里插入图片描述

四、配置docker允许推送私有镜像仓库

由于docker默认是不支持推送镜像到私有仓库,所以我们需要配置docker的设置。将私有的镜像仓库地址添加到本地docker。

1. 打开并编辑docker配置文件

sudo vim /etc/docker/daemon.json

2. 添加私有仓库配置信息

"live-restore": true 
"insecure-registries": ["192.168.162.128:9100"]

在这里插入图片描述

3. 命令行测试登录

# 登录命令
docker login 192.168.162.128:9100

在这里插入图片描述

五、测试本地镜像推送到harbor仓库

1. harbor中创建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 本地命令行中执行

# 1、镜像打标记
sudo docker tag 本地镜像名:版本 192.168.162.128:9100/ems/镜像名:版本
# 2、推送到仓库
sudo docker push 192.168.162.128:9100/ems/镜像名:版本

在这里插入图片描述

3. harbor仓库中查看

在这里插入图片描述
在这里插入图片描述


总结

以上就是Harbor的安装及简单使用,本文仅仅简单介绍了Harbor的使用,而Harbor提供了大量能使我们快速便捷地管理仓库后续会继续更新相关的功能使用。

;