0. Harbor是什么
Harbor 是一个开源的镜像仓库服务,用于容器镜像、Helm Chart 等符合 OCI 标准的 Artifact 的安全托管及高效分发,能够帮助您跨云原生计算平台(如 Kubernetes 和 Docker)一致且安全地管理 Artifact。
1. 下载离线安装包
wget https://storage.googleapis.com/harbor-releases/release-2.8.0/harbor-offline-installer-latest.tgz2. 解压离线安装包
tar -zxvf harbor-offline-installer-latest.tgz3. 修改Harbor配置文件
进入解压后的目录, 编辑harbor.yml.tmpl文件
将hostname的值改为部署机器的ip, 例如192.168.186.202
将http: port的值改为要监听的端口, 例如1180
将https相关内容注释掉
将harbor_admin_password的值改为自定义密码, 例如password1234
将data_valume的值改为要挂载harbor数据的目录, 例如/opt/harbor/data
保存后将harbor.yml.tmpl文件重命名为harbor.yml4. 修改Harbor解压目录权限
chmod 777 /解压目录/5. 执行安装脚本
进入harbor解压目录, 执行安装
[root@dc-202 harbor]# sh install.sh
[Step 0]: checking if docker is installed ...
Note: docker version: 24.0.0
[Step 1]: checking docker-compose is installed ...
Note: docker-compose version: 2.40.3
[Step 2]: loading Harbor images ...
bcd4591a1a5a: Loading layer [==================================================>] 91.73MB/91.73MB
af3f46d7aeca: Loading layer [==================================================>] 3.584kB/3.584kB
5380c26af354: Loading layer [==================================================>] 3.072kB/3.072kB
6462f972b019: Loading layer [==================================================>] 2.56kB/2.56kB
8cb0c83ac487: Loading layer [==================================================>] 3.072kB/3.072kB
cfbe2a0d2719: Loading layer [==================================================>] 3.584kB/3.584kB
e5293f9ebbe6: Loading layer [==================================================>] 20.48kB/20.48kB
Loaded image: goharbor/harbor-log:v2.8.2
...
[Step 5]: starting Harbor ...
WARN[0000] /opt/harbor/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
[+] Running 10/10
✔ Network harbor_harbor Created 0.2s
✔ Container harbor-log Started 4.0s
✔ Container registry Started 6.8s
✔ Container registryctl Started 5.5s
✔ Container harbor-portal Started 5.5s
✔ Container redis Started 4.6s
✔ Container harbor-db Started 5.8s
✔ Container harbor-core Started 6.2s
✔ Container nginx Started 6.8s
✔ Container harbor-jobservice Started 6.7s
✔ ----Harbor has been installed and started successfully.----
[root@dc-202 harbor]# 6. 登录Harbor控制台界面
http://192.168.186.202:1180
admin/password1234
7. 从Harbor仓库拉取镜像
在docker中配置完harbor私有仓库地址后, 可以直接使用命令拉取镜像
命令为: docker pull harbor仓库地址/镜像地址/镜像名:镜像标签
示例: docker pull 192.168.186.200:1180/library/kibana:7.6.28.推送镜像到Harbor仓库
# 先执行登陆命令
docker login -u admin -p Harbor12345 192.168.162.3:1180
# 将要推到私有仓库的镜像打标签
docker tag 本地镜像名:镜像版本 192.168.162.3:1180/library/新镜像名:新镜像版本
# 推送到私有仓库
docker push 192.168.162.3:1180/library/新镜像名:新镜像版本