Harbor 是由 VMware 开源的一款云原生制品仓库,Harbor 的核心功能是存储和管理 Artifact。Harbor 允许用户用命令行工具对容器镜像及其他 Artifact 进行推送和拉取,并提供了图形管理界面帮助用户查看和管理这些 Artifact。在 Harbor 2.0 版本中,除容器镜像外,Harbor 对符合 OCI 规范的 Helm Chart、CNAB、OPA Bundle 等都提供了更多的支持。
Harbor 整体架构
使用 Docker Compose 部署 Harbor
硬件要求
先安装 Docker Compose,已有则忽略
从 GitHub 下载最新版 Docker Compose 的二进制文件:- sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
复制代码 赋予执行权限- sudo chmod +x /usr/local/bin/docker-compose
复制代码 验证安装部署Harbor
Harbor版本:https://github.com/goharbor/harbor/releases
下载Harbor的在线安装包- wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-online-installer-v2.15.0.tgz
- tar -xzvf harbor-online-installer-v2.15.0.tgz
复制代码 创建并修改配置文件- cd harbor
- cp harbor.yml.tmpl harbor.yml
复制代码 修改配置文件,先注释HTTPS,因为要做证书校验,比较麻烦
如果要https的 可以参照官网文档:https://goharbor.cn/- $ vim harbor.yml
- hostname: 192.168.88.21
- port: 5080
- # https related config
- # 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
- # enable strong ssl ciphers (default: false)
- # strong_ssl_ciphers: false
复制代码
文件修改完成后执行出现如下错误,需要配置Docker镜像代理
执行成功
根据在harbor.yml文件中配置的端口与IP地址进行访问:http://:5080
如:http://192.168.88.21:5080
默认管理员账号admin,初始密码Harbor12345(适用于v2.0及以上版本)。 首次部署后需通过Web界面登录并强制修改密码。
配置Mysql存储,先在mysql数据库创建账号密码- CREATE DATABASE harbor;
- CREATE USER 'harbor'@'locahost' IDENTIFIED BY 'harbor@123';
- GRANT ALL PRIVILEGES ON harbor.* TO 'harbor_user'@''locahost' ';
- FLUSH PRIVILEGES;
复制代码 再次更改harbor.yml配置文件- database:
- type: mysql
- host: <your_mysql_host>
- port: 3306
- username: harbor_user
- password: yourpassword
- database: harbor
复制代码 重新执行设置自启- sudo vim /etc/systemd/system/harbor.service
复制代码 Harbor放在 /etc/software/harbor/,写入配置- [Unit]
- Description=Harbor Registry Service
- Documentation=https://goharbor.io
- After=docker.service network-online.target
- Requires=docker.service
- Wants=network-online.target
- [Service]
- Type=oneshot
- WorkingDirectory=/etc/software/harbor
- ExecStart=/usr/bin/docker compose up -d
- ExecStop=/usr/bin/docker compose down
- RemainAfterExit=yes
- Restart=on-failure
- RestartSec=10
- [Install]
- WantedBy=multi-user.target
复制代码 启用并启动服务- # 重载配置
- sudo systemctl daemon-reload
- # 设置开机自启
- sudo systemctl enable harbor
- # 立即启动服务
- sudo systemctl start harbor
- # 查看状态
- sudo systemctl status harbor
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |