硬件支持 {#%E7%A1%AC%E4%BB%B6%E6%94%AF%E6%8C%81}
CPU
:最低2核,推荐4核
内存
:最低4G,推荐8G
磁盘
:最低40G,推荐160G
软件支持 {#%E8%BD%AF%E4%BB%B6%E6%94%AF%E6%8C%81}
Docker
:Version17.06.0-ce以上
Docker Compose
:docker-compose(v1.18.0+) 或 docker compose v2(docker-compose-plugin)版本
安装Harbor {#%E5%AE%89%E8%A3%85harbor}
下载Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz
解压压缩包
tar -zxvf harbor-offline-installer-v2.5.3.tgz
harbor/harbor.v2.5.3.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl
进入harbor目录,复制harbor.yml.tmpl生产一个harbor.yml。
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
修改配置,将域名修改成本机的域名或IP地址,将HTTPS部门注释掉,默认管理密码Harbor12345
# Configuration file of Harbor
The IP address or hostname to access admin UI and registry service.
DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 192.168.170.111
http related config
http:
port for http, default is 80. If https enabled, this port will redirect to https port
port: 80
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
Uncomment following will enable tls communication between all harbor components
=================================================================================
internal_tls:
set enabled to true means internal tls is enabled
===================================================
enabled: true
put your cert and key files on dir
====================================
dir: /etc/harbor/tls/internal
Uncomment external_url if you want to enable external proxy
And when it enabled the hostname will no longer used
external_url: https://reg.mydomain.com:8433
The initial password of Harbor admin
It only works in first time to install harbor
Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Harbor12345
保存配置退出后,返回上一层,将harbor整个目录移至/usr/local下。
mv harbor /usr/local/harbor/
进入harbor目录里,通过install脚本开始自动启动安装
cd /usr/local/harbor/
./install.sh
`[Step 5]: starting Harbor ...
[+] Running 9/10
⠙ Network harbor_harbor Created 4.1s
✔ Container harbor-log Started 1.1s
✔ Container redis Started 1.7s
✔ Container registryctl Started 1.3s
✔ Container harbor-portal Started 1.2s
✔ Container harbor-db Started 1.7s
✔ Container registry Started 1.6s
✔ Container harbor-core Started 2.1s
✔ Container harbor-jobservice Started 2.8s
✔ Container nginx Started 2.8s
✔ ----Harbor has been installed and started successfully.----`
浏览器访问harbor,默认密码Harbor12345
上传镜像到Harbor {#%E4%B8%8A%E4%BC%A0%E9%95%9C%E5%83%8F%E5%88%B0harbor}
和registry一样,上传方需要先修改daemon文件,我这里把registry和Harbor的地址都添加了
vim /etc/docker/daemon.json
{
"insecure-registries":["hub.monster.com:5000","hub.monster.com:80"]
}
重新加载配置,重启Docker生效
[root@ceshi ~]# systemctl daemon-reload
[root@ceshi ~]# systemctl restart docker
打标签
[root@ceshi ~]# docker tag hub.monster.com:5000/chatgpt:1.1 hub.monster.com:80/monster/chatgpt:0.1
上传镜像,注意直接上传会提示未认证,需要先通过Docker登录到我们的Harbor。
[root@ceshi ~]# docker push hub.monster.com:80/monster/chatgpt:0.1
The push refers to repository [hub.monster.com:80/monster/chatgpt]
29117c2678df: Preparing
82c0fd5deac1: Preparing
b47a34ba73cb: Preparing
07b965bc2aca: Preparing
a2c7e2a1b1ae: Preparing
63caa1dbfd24: Waiting
879b1e560390: Waiting
54e2f0467614: Waiting
a0bbbabe7b80: Waiting
78a822fe2a2d: Waiting
unauthorized: unauthorized to access repository: monster/chatgpt, action: push: unauthorized to access repository: monster/chatgpt, action: push
[root@ceshi ~]# docker login -u admin hub.monster.com:80
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
[root@ceshi ~]# docker push hub.monster.com:80/monster/chatgpt:0.1
The push refers to repository [hub.monster.com:80/monster/chatgpt]
29117c2678df: Pushed
82c0fd5deac1: Pushed
b47a34ba73cb: Pushed
07b965bc2aca: Pushed
a2c7e2a1b1ae: Pushed
63caa1dbfd24: Pushed
879b1e560390: Pushed
54e2f0467614: Pushed
a0bbbabe7b80: Pushed
78a822fe2a2d: Pushed
0.1: digest: sha256:ece1b3edb2459e71cdfefaf28a04ef6719ad64f6e170f7ab69f4bd5a96b60089 size: 2420
[root@ceshi ~]# `