One - One Code All

Blog Content

使用Harbor自建企业级Docker镜像仓库

容器化   2020-06-07 10:42:13

Harbor简介

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


安装

下载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会启动Nginx、Redis之类的容器,以前创建过的需要先删除掉,看到started successfully就表示启动成功了;

----Harbor has been installed and started successfully.----


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


访问Harbor的管理界面,输入配置文件里设置的账号密码登录即可,接下来就可以使用Harbor来管理我们的镜像了。


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


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

vi /etc/docker/daemon.json


添加一行insecure-registries配置即可,允许使用非安全方式访问Harbor镜像仓库,注意不要少了端口号80;

{
 "registry-mirrors":["https://xxx.aliyuncs.com"],
 "insecure-registries":["ip:80"]
}

再次重新启动docker服务;

systemctl restart docker


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

./install.sh


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

docker login ip:80

Username: admin

Password: 

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.

Configure a credential helper to remove this warning. See

https://docs.docker.com/engine/reference/commandline/login/#credentials-store


Login Succeeded


把镜像推送到dockerhub仓库test项目下:

docker push ip:80/test/busybox

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



上一篇:golang gin框架测试hello world
下一篇:python - Pyephem - datetime.datetime 和 ephem.Date 之间的时间差

The minute you think of giving up, think of the reason why you held on so long.