美文网首页javaWeb学习云服务
一篇文章搞定Docker私服搭建--Harbor

一篇文章搞定Docker私服搭建--Harbor

作者: 贤思齐焉 | 来源:发表于2020-01-21 15:09 被阅读0次

Docker的应用越来越广泛,在公司内部搭建一台私服是刚需需求。Docker官方提供了Registry具备此功能,但管理方面较弱,不适合企业级的应用,今天给大家介绍Harbor的使用。 Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。 鉴于网上很多文件介绍较为片面,本篇文章作出如下总结和整理。 文章分为安装、Harbor使用介绍、镜像操作三部分,全面介绍Harbor的使用,整体来说,安装简单、使用简单。

相关安装

Docker安装

# yum 包更新
[root@centos7 ~]# yum update

# 卸载旧版本 Docker
[root@centos7 ~]# yum remove docker docker-common docker-selinux docker-engine

# 安装软件包
[root@centos7 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker yum源
[root@centos7 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装 Docker
[root@centos7 ~]# yum -y install docker-ce

# 启动 Docker
[root@centos7 ~]# systemctl start docker

# 查看 Docker 版本号
[root@centos7 ~]# docker --version
复制代码

Docker Compose 安装

# 安装 epel-release
[root@centos7 ~]# yum install epel-release

# 安装 python-pip
[root@centos7 ~]# yum install -y python-pip

# 安装 docker-compose
[root@centos7 ~]# pip install docker-compose

# 安装 git
[root@centos7 ~]# yum install -y git

# 查看 docker-compose 版本号
[root@centos7 ~] docker-compose -version
复制代码

如果安装python出现如下错误:

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-WImLdR/pyparsing/
复制代码

可尝试执行如下指令:

sudo python -m pip install --upgrade --force pip
sudo pip install setuptools==33.1.1
复制代码

安装harbor

下载

文件地址:下载地址-github

wget https://github.com/goharbor/harbor/releases/download/v1.9.3/harbor-offline-installer-v1.9.3.tgz
复制代码

这里通过以上指令下载,默认下载在当前文件夹

配置

解压,得到如下

tar -zxvf harbor-offline-installer-v1.9.3.tgz
复制代码
Image.png
配置harbor.yml Image [1].png
配置docker-compose.yml[图片上传中...(image-474798-1579590383132-7)]
Image [2].png

运行安装指令

sudo ./install.sh
复制代码

如果出现如下结果,恭喜你,成功安装

Image [3].png

至此,安装步骤完成

harbor使用

访问地址 //hostname:port (hostname 和 port 为上述配置)

Image [4].png
Image [5].png
以下是对关键功能介绍

项目

以项目的维度划分镜像,可以理解为镜像组,相同镜像的不同版本可以放在一个项目里,同样项目里有完成的仓库、成员、标签、日志的管理。 注意,此处的标签,不建议维护,用全局的设置,最好最好统一,如何设置,稍后讲到

日志

harbor将日志分为日志和事件日志,比较简单,就不赘述了


Image [6].png Image [7].png

系统管理

用户管理 用于操作用户的增删、密码重置

仓库管理 拉取其他服务器镜像到本地

同步管理 可定时去拉取最新镜像

任务

垃圾清理 定时清空无用镜像

配置管理

此功能比较清晰,主要想介绍下标签,此处标签为全局,供所有镜像使用


Image [8].png

镜像推送

首先面临的是HTTP推送问题,

ERROR: Get https://192.168.1.111:81/v2/: http: server gave HTTP response to HTTPS client
复制代码

docker默认的是HTTPS,大部分场景Harbor在内网,没有HTTPS,则需要设置去除,方法简单:

Image [9].png

Linux操作

vi /etc/docker/daemon.json
# 内容如下
{
    "insecure-registries":["harbor.goodcol.com:81"]
}
# 加载和重启服务
systemctl daemon-reload
systemctl restart docker
复制代码

镜像推送和拉取

#从私服拉取镜像 docker pull 私服地址/仓库项目名/镜像名:标签
复制代码

镜像推送

#推送
docker login 服务器地址:port

#镜像打标签 ,要重新打标签,标签默认是官网地址
docker tag 镜像名:标签 私服地址/仓库项目名/镜像名:标签

#推送指令
docker push 私服地址/仓库项目名/镜像名:标签

相关文章

网友评论

    本文标题:一篇文章搞定Docker私服搭建--Harbor

    本文链接:https://www.haomeiwen.com/subject/lwsezctx.html