10分钟自建企业级Docker镜像仓库!这个开源项目太顶了!

作者:jcmp      发布时间:2021-05-12      浏览量:0
一、摘要平时经常用Docker来部署各种

一、摘要

平时经常用Docker来部署各种环境,发现从DockerHub上下载镜像有时候比较慢。第三方的镜像还可以使用一些国内的镜像仓库来加速,如果我们自己构建的镜像那就不行了。这时候搭建一个私有的镜像仓库很有必要,最近发现Harbor这个企业级镜像仓库,非常好用且功能强大,推荐给大家!

二、Harbor简介

Harbor是一款开源的Docker镜像仓库服务,在Github上目前有13.4k+Star。提供了基于角色的镜像访问机制,可以保护你的镜像安全。

三、安装

学习开源项目的第一步,一般都是把它运行起来,我们先来把Harbor运行起来吧!

下载Harbor安装包,这里下载的是v1.10.6离线版本,下载地址:https://github.com/goharbor/harbor/releases。

下载完成后上传到Linux服务器,使用如下命令解压;

tar xvf harbor-offline-installer-v1.10.6.tgz复制代码。

解压完成后,所有文件内容如下;

修改Harbor的配置文件harbor.yml,修改hostname,并注释掉https配置,相关属性说明参考注释即可;

使用install.sh脚本安装Harbor:

./install.sh

Harbor启动成功后会输出如下信息,这里需要注意的是Harbor会启动Nginx、Redis之类的容器,以前创建过的需要先删除掉,看到started successfully就表示启动成功了;

我们可以使用docker images命令查看下安装Harbor安装的Docker镜像,还挺多的;

访问Harbor的管理界面,输入账号密码admin:Harbor12345登录即可,访问地址:http://192.168.3.101/

四、使用

接下来我们就可以使用Harbor来管理我们的镜像了。

首先点击新建项目按钮,新建一个项目:

这里新建一个叫做test的私有项目;

由于docker login命令默认不支持http访问,所以我们需要手动开启,使用Vim编辑器修改docker的配置文件daemon.json;

再次重新启动docker服务;

再次使用install.sh启动Harbor服务;

使用docker login命令访问Harbor镜像仓库,注意加上端口号为80;

编写Dockerfile脚本,用于构建Docker镜像,一个最简单的busybox脚本如下;

使用如下命令构建一个自己的busybox镜像;

将自己构建的busybox镜像推送到Harbor镜像仓库;

推送成功后在Harbor的管理界面中就可以查看到busybox镜像了;

由于Harbor是用Docker Compose部署的,可以直接使用Docker Compose的命令来停止和启动。

五、结合SpringBoot使用

这里使用之前的mall-tiny-fabric项目来演示下,如何使用Maven插件一键打包并推送到Harbor镜像仓库。

推送镜像之前需要在Harbor中创建好mall-tiny项目,否则会无法推送镜像;

之后使用Maven插件打包镜像并推送到Harbor仓库,推送过程中输出信息如下;

打开Harbor管理页面,发现mall-tiny-fabric镜像已经存在了。

六、总结