【笔记】Harbor学习笔记

前言

Harbor is an open source trusted cloud native registry project that stores, signs, and scans content. Harbor extends the open source Docker Distribution by adding the functionalities usually required by users such as security, identity and management.(Github

通过Docker部署Harbor容器,实现私有Docker镜像仓库

准备工作

  • docker
  • docker-compose

下载自动安装程序

1
2
3
4
wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz
tar -zxvf harbor-offline-installer-v2.8.2.tgz
rm harbor-offline-installer-v2.8.2.tgz
cd harbor

修改配置文件

复制一份配置文件

1
cp harbor.yml.tmpl harbor.yml

修改配置文件

指定服务器地址

  • 指定当前服务器的IP地址或域名,不要使用127.0.0.1,因为Harbor会部署在Docker容器中
harbor.yml
1
hostname: 192.168.0.1

去除HTTPS支持

  • 注释所有HTTPS支持的配置,因为测试阶段没有证书,不使用HTTPS
1
2
3
4
5
6
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
# certificate: /your/certificate/path
# private_key: /your/private/key/path

设置Harbor密码

  • 修改密码,默认密码为Harbor12345
1
harbor_admin_password: Harbor12345

自动部署Harbor

1
./install.sh

首次登录

  • 访问80端口进入Harbor登录页面,默认用户名为admin,默认密码为Harbor12345

新建镜像仓库

推送镜像到仓库

配置镜像仓库地址

  • 如果/etc/docker/目录下没有daemon.json文件就新建

192.168.0.1:80:Harbor的地址

/etc/docker/daemon.json
1
2
3
{
"insecure-registries": ["192.168.0.1:80"]
}

重启Docker服务

1
systemctl restart docker

重命名镜像名

  • 重命名docker镜像名,格式为Harbor地址/项目名/镜像名:版本

<id>:镜像id或容器名
192.168.0.1:80:Harbor的地址

1
docker tag <id> 192.168.0.1:80/demo/demo:v1.0.0

登录镜像仓库

admin:Harbor用户名
Harbor12345:Harbor密码
192.168.0.1:80:Harbor的地址

1
docker login -u admin -p Harbor12345 192.168.0.1:80

推送镜像

1
docker push 192.168.0.1:80/demo/demo:v1.0.0

拉取镜像

登录镜像仓库

  • 如果是公开仓库,则无需登录

admin:Harbor用户名
Harbor12345:Harbor密码
192.168.0.1:80:Harbor的地址

1
docker login -u admin -p Harbor12345 192.168.0.1:80

拉取镜像

1
docker pull 192.168.0.1:80:8083/demo/demo:v1.0.0

完成

  • 截图纪念

参考文献

哔哩哔哩——云原生技术架构