docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。
Harbor是通过docker compose来部署的,所以要先安装docker compose
参考:https://blog.csdn.net/qq_38639813/article/details/129751441
可以在GitHub上下载离线安装包:https://github.com/goharbor/harbor/releases
点击Tags选择要下载的版本即可,我用的是harbor-offline-installer-v2.3.1.tgz
mkdir -p /opt/harbor
cd /opt/harbor
tar -xvf harbor-offline-installer-v2.3.1.tgz
cd /opt/harbor/harbor
# 拷贝一个配置文件
cp harbor.yml.tmpl harbor.yml
# 创建持久化数据目录
mkdir -p /opt/harbor/data
harbor.yml完整内容如下,由于配置太多,我就把空行和注释去掉了。只改了hostname、data_volume,把https注释掉
grep -v '^$\|#' harbor.yml
hostname: 192.168.3.21 # 修改成自己的机器的ip
http:
port: 80
#https:
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
harbor_admin_password: Harbor12345 # admin密码
database:
password: root123
max_idle_conns: 100
max_open_conns: 900
data_volume: /opt/harbor/data # 持久化数据目录
trivy:
ignore_unfixed: false
skip_update: false
insecure: false
jobservice:
max_job_workers: 10
notification:
webhook_job_max_retry: 10
chart:
absolute_url: disabled
log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /var/log/harbor
_version: 2.3.0
proxy:
http_proxy:
https_proxy:
no_proxy:
components:
- core
- jobservice
- trivy
./install.sh #这步可能会报错,原因是之前起了诸如redis、nginx等容器或者端口号被占用。关掉就行
安装完成后查看下正在运行的docker容器:
docker ps
http://192.168.3.21/
账号/密码:admin/Harbor12345
添加如下参数:
"insecure-registries":["192.168.3.21"]
systemctl restart docker
docker login 192.168.3.21
# 打标签,这里的test就是上面创建的项目
docker tag pgrouting/pgrouting:12-3.0-3.0.1 192.168.3.21/test/pgrouting
# 推送到远程仓库
docker push 192.168.3.21/test/pgrouting
docker pull 192.168.3.21/test/pgrouting
# 进到harbor安装目录
cd /opt/harbor/harbor
# 查看状态
docker-compose ps
# 停止
docker-compose stop
docker-compose ps
# 启动
docker-compose start
docker-compose ps
# 重启
docker-compose restart
docker-compose ps