搭建Harbor镜像(docker)私有仓库

原文: https://blog.csdn.net/xyz_dream/article/details/89291089





1.搭建企业级别docker镜像私有仓库


需求: 企业中需要在内网中搭建自己的私有docker仓库管理。虽然可以使用例如阿里云等公司提供的镜像仓库管理,但是这样走公网流量pull镜像十分浪费,而且速度肯定不比内网传输快,所以搭建自己私有仓库对镜像进行管理是十分必要的。目前比较流行的2中方法.

1.使用官方dockerhub提供的Registry搭建

2.使用Harbor搭建 github地址: https://github.com/goharbor/harbor



2.推荐使用Harbor搭建



官方推出的Registry,虽然能实现镜像仓库管理。但是相对Harbor来说功能相对少,例如用户管理,权限管理,UI可视化界面管理等都相对薄弱。所以搭建企业级用于生产环境的私有仓库管理,推荐使用Harbor。



3.安装Harbor



Harbor也是基于docker容器运行的,所以搭建过程很简答。只要一台推荐内存4g以上的centos或者ubuntu安装docker,以及docker-compose就能很快跑起来。以下基于centos7搭建过程



4.流程

4.1 安装


yum install python-pip -y && pip install docker-compose # 安装docker-compose

# 选择Harbor版本信息 https://github.com/goharbor/harbor/releases
# 下载安装包
wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.5.tgz

tar -zxvf harbor-online-installer-v1.7.5.tgz # 且解压缩

cd harbor

vim harbor.cfg # 将hostname改为要访问的ip地址或者域名

vim docker-compose.yml # 将127.0.0.1:1514 端口映射 改为 1514:10514

#为了节约时间,可以先把所需镜像都pull下来。 其实都是一样的,只是我想一步到位,镜像一个个拉看着不爽罢了。

docker-compose pull # 拉取所需的所有镜像

#镜像拉取成功后,直接运行docker-compose启动即可

docker-compose up -d


4.2 效果

首页访问: 输入ip地址即可

默认账号: admin

默认密码: 查看密码 cat harbor.cfg | grep harbor_admin_password

在这里插入图片描述

登陆后界面:


在这里插入图片描述


左边菜单栏可以对用户管理,仓库管理等等。 现在演示一下push一个nginx镜像到默认library项目中。

1.首先在本地docker pull nginx

2.然后重新打一个tag docker tag nginx ip地址/library/nginx:harbor-0.1

3.docker login ip地址

输入密码即可登录成功。 (和你平时登录dockerhub都是一样的)

4.需要注意的是,默认docker login都是https,我们搭建的Harbor还没配置ssl提供https访问形式,所以docker login会失败。解决方案 在/etc/docker/daemon.json把Harbor仓库地址加入其中


     vim /etc/docker/daemon.json
#加入以下内容
{
“insecure-registries”: [“仓库ip地址”]
}

# 重启docker即可 这样才能使用docker lgin ip地址
systemctl daemon-reload
systemctl restart docker


再docker push即可了。


例如可以直接查看,刚才我push了一个nginx镜像上去。还可以查看镜像download次数等等信息。

在这里插入图片描述


5.总结


非专业运行人员其实了解或者自己本地搭建以下,拿过来玩玩其实就够了。要是专业的运维人员,文章所述太过简单了可以忽略。 这样能够也让我们去体会运维的工作或者说这些镜像背后管理的流程等等,对于后端人员(镜像使用者)或者镜像的开发者的工作至少有点好处的,个人的一点不成熟的见解。