harbor2.0安装

简介: harbor2.0安装过程和私有镜像上传

准备

1、更新yum repo,使用阿里云源。

  • 备份内置repo源

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
  • 从阿里云更新下载源

    curl -o /etc/yum.repos.d/CentOS-Base.repo http:``//[mirrors.aliyun.com/repo/Centos-7.repo](http://mirrors.aliyun.com/repo/Centos-7.repo)
    
  • 清理旧的更新源缓存,并更新新的更新源缓存
    yum clean all
    yum makecache

开始安装Harbor ,安装方式有两种:

  • 在线安装:从 Docker Hub 下载 Harbor 相关镜像,因此安装软件包非常小,安装耗时依赖网速。

  • 离线安装:安装包包含部署的相关镜像,安装包比较大(下面采用离线安装)。

1、从 Harbor 官方网站(https://github.com/goharbor/harbor/releases)下载合适版本的 Harbor 离线安装包。例如,下载 harbor-offline-installer-v1.10.19.tgz

1、登录服务器,今入/opt 目录。

  • 下载较慢,耐心等待。
  • 如果实在太慢,可以先下载到本地,再上传到服务器目录。
    wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz
    

3、由于 Harbor 是基于 Docker 和 Docker Compose 的,所以需要先安装它们:

  • 安装 Docker
  • 安装依赖工具:sudo yum install -y yum-utils

  • 使用以下命令来设置稳定的仓库:

  • 使用阿里云仓库,推荐:

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 安装最新版本的 Docker-CE 和 containerd 执行如下命令:

    sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
  • 查看docker版本:docker version

  • 配置Docker 仓库地址

  • 查看 /etc/docker 下面是否存在 daemon.json 文件,这是一个 JSON 格式的文件。如果存在,则直接修改;如果不存在,则创建一个新的 daemon.json 文件
  • 将下面内容写入到 daemon.json 文件

    <pre>{
    "registry-mirrors": [ "https://docker.m.daocloud.io" ]
    }
    
  • 然后重启docker服务

    systemctl restart docker    #重启docker服务
    systemctl enable docker      #配置开机自启
    

    4、安装 docker-compose

  • 推荐使用官方安装脚本进行安装,步骤如下:

  • 运行以下命令下载并安装 Docker Compose:(下载可能会有一些慢,耐心等待一下)
    [root@localhost docker]# sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
    0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
    100 60.8M  100 60.8M    0     0  58552      0  0:18:09  0:18:09 --:--:-- 71641
    
  • 赋予执行权限:

    <pre>[root@localhost bin]# sudo chmod +x /usr/local/bin/docker-compose</pre>
    
  • 查看版本信息

    <pre>[root@localhost ~]# docker-compose --version
    Docker Compose version v2.29.7
    

    5、解压harbor安装包:

    [root@localhost opt]# tar -xvzf harbor-offline-installer-v2.0.0.tgz 
    harbor/harbor.v2.0.0.tar.gz
    harbor/prepare
    harbor/LICENSE
    harbor/install.sh
    harbor/common.sh
    harbor/harbor.yml.tmpl
    

    6、配置harobr

  • 进入解压后的 Harbor 目录,找到 harbor.yml.tmpl 文件,将其复制为 harbor.yml(如果已经存在 harbor.yml 文件,则直接修改,或者先备份该文件):

    [root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
    
  • 修改配置如下

  • 注意,可以将上面的“hostname”修改为你的主机 IP 地址。
    image.png

  • 修改后如下:
    image.png

7、安装 Harbor
执行 prepare 脚本
在 Harbor 安装过程中,prepare 脚本是一个非常重要的步骤。它主要用于生成配置文件和证书等相关操作。这个脚本会根据 harbor.yml 配置文件中的内容,为 Harbor 的部署做前置准备工作。例如:

[root@localhost harbor]# ./prepare
prepare base dir is set to /opt/harbor
Unable to find image 'goharbor/prepare:v2.0.0' locally
v2.0.0: Pulling from goharbor/prepare
836b6c765c93: Pull complete 
7d2118468cd6: Pull complete 
ec361edd3da3: Pull complete 
96018abb76c1: Pull complete 
93a6102d0a5d: Pull complete 
5ee1acfc0e3d: Pull complete 
2b88cfa69516: Pull complete 
5081e058f91e: Pull complete 
Digest: sha256:529596e839c481354f9652b3f598b0aa634c57015840d047295dc65a27ffd880
Status: Downloaded newer image for goharbor/prepare:v2.0.0
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir

没有抛出错误信息,脚本执行成功。

8、执行 install 脚本

Harbor 的 install.sh 脚本是 Harbor 安装过程的核心脚本。它主要负责协调各个组件的安装和配置过程,将 Harbor 从一个未安装的状态转变为一个可以正常运行的服务。

如果你看见了“✔ ----Harbor has been installed and started successfully.----”提示信息,恭喜 harbor 安装成功了。

  • 若要重启harbor,需要以守护进程模式启动,切换到包含docker-compose.yml文件的目录(/opt/harbor)。然后,使用以下命令来重启Harbor:
  • docker-compose up -d

9、验证安装

  • 使用 docker ps 查看启动的容器,如下:
    [root@localhost harbor]# docker ps
    CONTAINER ID   IMAGE                                COMMAND                  CREATED              STATUS                        PORTS                                   NAMES
    cf46c586e77e   goharbor/harbor-jobservice:v2.0.0    "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                                           harbor-jobservice
    c8c3975a3282   goharbor/nginx-photon:v2.0.0         "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:80->8080/tcp, :::80->8080/tcp   nginx
    744350d97f9e   goharbor/harbor-core:v2.0.0          "/harbor/entrypoint.…"   About a minute ago   Up About a minute (healthy)                                           harbor-core
    c4775a51d596   goharbor/harbor-db:v2.0.0            "/docker-entrypoint.…"   About a minute ago   Up About a minute (healthy)   5432/tcp                                harbor-db
    5734fa2f4160   goharbor/registry-photon:v2.0.0      "/home/harbor/entryp…"   About a minute ago   Up About a minute (healthy)   5000/tcp                                registry
    76c74bfd888a   goharbor/redis-photon:v2.0.0         "redis-server /etc/r…"   About a minute ago   Up About a minute (healthy)   6379/tcp                                redis
    c5dc3de65384   goharbor/harbor-portal:v2.0.0        "nginx -g 'daemon of…"   About a minute ago   Up About a minute (healthy)   8080/tcp                                harbor-portal
    fc62007f988c   goharbor/harbor-registryctl:v2.0.0   "/home/harbor/start.…"   About a minute ago   Up About a minute (healthy)                                           registryctl
    1296a7931f10   goharbor/harbor-log:v2.0.0           "/bin/sh -c /usr/loc…"   About a minute ago   Up About a minute (healthy)   127.0.0.1:1514->10514/tcp               harbor-log
    [root@localhost harbor]#
    
    上面显示了所有 goharbor 相关的容器。

10、使用浏览器访问 http://xxx.xxx.102.15:80 地址

镜像上传:

1、在本机配置harbor仓库http可信

  • /etc/docker/daemon.json中添加:"insecure-registries":["xxx.xx.102.15"]”,重启docker
  • 不然会报错,默认是走https的
  • 重启docker后,必须重启harbor,否则无法登录。
  • docker-compose down
  • docker-compose up -d

2、登录私有镜像仓库

docker login xx.xx.102.15 -u test-1 -p *******

3、拉取公共镜像httpd

  • docker pull httpd

  • 在项目中标记镜像:

    docker tag httpd:latest 172.16.102.15/test-1/httpd:latest
    
  • 推送镜像到当前项目:
    docker push 172.16.102.15/test-1/REPOSITORY[:TAG]
    
  • 查看harbor控制台,可以看到镜像已存在。
目录
相关文章
|
存储 安全 Linux
harbor安装和使用文档
harbor是一个企业级的存储docker镜像的私有镜像仓库,我们可以在自己的机器上对镜像打标签,然后push到harbor中保存起来,这样可以大幅度提高镜像拉取的速度,也满足了安全性的需求,harbor包含管理界面,镜像扫描,镜像签名,镜像复制,日志审核等多种特性,对于企业来说是最好的选择
|
12月前
|
运维 Linux Docker
安装Harbor镜像仓库
本文介绍了如何在Linux系统上安装和配置Harbor镜像仓库。首先通过阿里云镜像源安装Docker,然后下载并解压Harbor离线安装包。配置Harbor服务的相关参数。最后,通过运行安装脚本完成Harbor的安装,并进行基本的测试,包括登录、构建和推送Docker镜像。文章还提供了相关资源链接,方便读者进一步了解和学习。
1055 2
|
jenkins Java Shell
使用 Docker 安装 Jenkins 并实现项目自动化部署
Jenkins 是一款开源的持续集成(DI)工具,广泛用于项目开发,能提供自动构建,测试,部署等功能。作为领先的开源自动化服务器,Jenkins 提供了数百个插件来支持构建、部署和自动化任何项目。
35846 3
使用 Docker 安装 Jenkins 并实现项目自动化部署
|
Kubernetes 容器 Perl
【kubernetes】解决: kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = faile...
【kubernetes】解决: kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = faile...
16846 0
|
11月前
|
Kubernetes 应用服务中间件 nginx
二进制安装Kubernetes(k8s)v1.32.0
本指南提供了一个详细的步骤,用于在Linux系统上通过二进制文件安装Kubernetes(k8s)v1.32.0,支持IPv4+IPv6双栈。具体步骤包括环境准备、系统配置、组件安装和配置等。
3651 11
|
10月前
|
应用服务中间件 nginx Docker
配置Containerd运行时镜像加速器
containerd配置国内容器镜像加速器
3852 1
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
16037 1
|
存储 Kubernetes 应用服务中间件
Ingress-Nginx使用指南上篇
关于Ingress-Nginx在Kubernetes中的使用指南,涵盖了从基础安装到高级特性配置的详细步骤和实战案例。
4881 3
Ingress-Nginx使用指南上篇
|
Kubernetes 应用服务中间件 nginx
k8s学习--k8s集群使用容器镜像仓库Harbor
本文介绍了在CentOS 7.9环境下部署Harbor容器镜像仓库,并将其集成到Kubernetes集群的过程。环境中包含一台Master节点和两台Node节点,均已部署好K8s集群。首先详细讲述了在Harbor节点上安装Docker和docker-compose,接着通过下载Harbor离线安装包并配置相关参数完成Harbor的部署。随后介绍了如何通过secret和serviceaccount两种方式让Kubernetes集群使用Harbor作为镜像仓库,包括创建secret、配置节点、上传镜像以及创建Pod等步骤。最后验证了Pod能否成功从Harbor拉取镜像运行。
1537 0
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
3470 5