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镜像了;