Harbor私有镜像仓库搭建

时光旅者 2024-07-22 ⋅ 18 阅读

为什么选择Harbor

你可能会问既然我们已经有了 Docker 镜像仓库为什么还需要 Harbor 呢?嗯,Harbor 是 Docker 镜像仓库的企业级扩展,用途更广泛。这些新的企业级功能包括:

  • 管理用户界面
  • 基于角色的访问控制
  • AD/LDAP 集成
  • 审计日志记录

首先检查你的机器上是否有docker compose

# 命令一
[root@docker harbor]# docker-compose
-bash: docker-compose: command not found
# 命令二
[root@docker harbor]# docker compose version
Docker Compose version v2.21.0

只要有一个能用就行,如果俩都不能执行的话,安装过程

  1. 下载软件
    软件下载地址 https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64
  2. 将软件赋予可执行权限
    [root@docker ~]# chmod +x docker-compose-linux-x86_64
  3. 将软件移动到环境变量目录下
    [root@docker ~]# mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
  4. 现在你就可以执行docker-compose了
    [root@docker ~]# docker-compose -v
    Docker Compose version v2.23.3

搭建Harbor

Harbor官方提供了在线安装和离线安装2种方式,由于国内网络环境的原因,我们最好采取离线安装的方式

  1. 在github上下载Harbor离线包

地址 https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz

  1. 将下载好的Harbor安装包上传到Linux
    上传有很多种方式,建议直接使用xftp可视化上传

  2. 将上传好的tar包解压

    [root@docker docker]# tar -zxvf harbor-offline-installer-v2.10.0.tgz harbor/harbor.v2.10.0.tar.gz harbor/prepare harbor/LICENSE harbor/install.sh harbor/common.sh harbor/harbor.yml.tmpl [root@docker docker]# [root@docker docker]# [root@docker docker]# ls Dockerfile harbor harbor-offline-installer-v2.10.0.tgz httpd index.html mysql ssh user volume [root@docker docker]#

  3. 进入解压好的harbor目录,更改配置

    [root@docker docker]# cd harbor/ [root@docker harbor]# cp harbor.yml.tmpl harbor.yml

    将harbor.yml里面你想要修改的内容进行修改,建议修改一下端口

    如果有ssl证书的话将里面的ssl证书地址改成你自己的,如果没有的话直接将https段落注释掉

  1. 修改docker的单元文件

    [root@docker harbor]# vim /usr/lib/systemd/system/docker.service [root@docker harbor]# systemctl daemon-reload [root@docker harbor]# systemctl restart docker

6 . 开始安装harbor

[root@docker harbor]# ./install.sh 

等他安装完成之后咱们就可以通过浏览器进入UI界面了,用户名是admin,密码是Harbor12345,这个密码也是在harbor.yml里面写好的,可以查得到,如果想修改就在安装之前修改好

  1. docker login到harbor仓库

    [root@docker harbor]# docker login 192.168.200.200:5000 Username: admin 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@docker harbor]#

harbor的搭建就搞定了,然后就可以根据自己的需要去harbor仓库里面上传或者下载镜像了
8. 上传镜像到harbor仓库
首先创建一个项目,在harbor的首页可以点击新建项目,公不公开都行,看你需求
然后进入刚刚创建好的项目,在右侧会有一个推送命令

然后复制他

# 对镜像进行标记
[root@docker harbor]# docker tag centos:ssh 192.168.200.200:5000/test/centos:ssh
[root@docker harbor]# docker push 192.168.200.200:5000/test/centos:ssh
The push refers to repository [192.168.200.200:5000/test/centos]
4524c494f95b: Pushed 
3f19fd485f7e: Pushed 
a31c404b4c02: Pushed 
613be09ab3c0: Pushed 
ssh: digest: sha256:d9db914208f66c20b4ba65606e7222816a3416e71a984110a589ca9e6e94dffd size: 1156
  1. 进入harbor仓库查看是否存在

全部评论: 0

    我有话说: