Harbor镜像仓库的安装和使用

1 Harbor安装

参考文章:
银河麒麟v10离线安装harbor

由于配置了本地私有yum源,因此,直接使用yum命令安装docker和docker-compose

1.1 安装docker

yum install docker-ce

1.2 安装docker-compose

yum install docker-compose

1.3 安装harbor

下载安装文件harbor-1.10.2-1.p02.ky10.aarch64.rpm
将文件上传到服务器的/root路径下

使用yum本地安装

yum localinstall -y harbor-1.10.2-1.p02.ky10.aarch64.rpm

修改配置文件/root/harbor/harbor.yml

vim /root/harbor/harbor.yml

在这里插入图片描述

配置Harbor

./prepare

安装Harbor

./install.sh

2 Harbor的使用

2.1 Harbor镜像仓库信息

http://192.168.16.106:5000/
用户名:xxxx
密码:xxxxxxxx

2.2 创建项目

在浏览器访问Harbor的管理界面:192.168.16.106:5000
登录
在项目菜单中点击新建项目按钮,新建项目。访问级别设置为公开,不用登录用户名密码即可拉取和推送镜像

在这里插入图片描述

2.3 docker配置使用harbor私用镜像仓库

在某个局域网服务器使用harbor私有镜像仓库上传或者拉取镜像,需要先登录harbor,会自动存储配置文件到系统文件。

docker login -u test -p Test123456 http://192.168.16.106:5000

会报错Error response from daemon: Get "https://192.168.16.106:5000/v2/": http: server gave HTTP response to HTTPS client

在这里插入图片描述

因为我们的私有镜像仓库是使用http请求,而docker引擎默认使用https与镜像仓库交互,需要修改docker的配置文件,增加insecure-registries配置

编辑/etc/docker/daemon.json文件

vim /etc/docker/daemon.json

增加如下配置

{
  "insecure-registries":["http://192.168.16.106:5000"]
}

重新加载配置,重启到docker服务

systemctl daemon-reload && systemctl restart docker.service

此时即可正常登录使用

在这里插入图片描述

2.3 上传镜像到私有仓库

给镜像打标签

在公网服务器pull镜像,给镜像打私有镜像仓库的标签,上文我们给harbor中创建的项目名为test,因此下面例子均以test为例

docker tag SOURCE_IMAGE[:TAG] 192.168.16.106:5000/PROJECT_NAME/IMAGE[:TAG]

例如:

docker tag openjdk:8 192.168.16.106:5000/test/openjdk:8-arm64

上传镜像

docker push 192.168.16.106:5000/PROJECT_NAME/IMAGE[:TAG]

例如:

docker push 192.168.16.106:5000/test/openjdk:8-arm64

2.4 拉取镜像

在内网的所有服务器上可以拉取镜像

docker pull 192.168.16.106:5000/test/kuboard-spray:1.2.4-arm64

在这里插入图片描述

3 在k8s集群中使用

3.1 containerd配置http的私有仓库

由于k8s在1.24以后得版本中不在支持docker作为容器引擎,而是使用containerd,因此在集群的各个节点服务器上使用harbor私有仓库,配置与docker不同。

containerd 不能像docker一样 docker login harbor.example.com 登录到镜像仓库
containerd不像docker,在/etc/docker/deamon.json文件配置一下insecure-registries就可以使用了

修改containerd 的配置文件/etc/containerd/config.toml

vim /etc/containerd/config.toml
  • 增加`registry.configs``,设置跳过安全认证设为true,设置登录用户名和密码
  • registry.mirrors配置中增加私有镜像仓库的http地址http://192.168.16.106:5000
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.16.106:5000".tls]
          insecure_skip_verify = true #跳过安全认证设为true
        [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.16.106:5000".auth]
          # 设置登录用户名和密码
          username = "xxxx"
          password = "xxxxxxxx"
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
          endpoint = ["https://registry-1.docker.io"]
        # 增加harbor私有镜像仓库的http地址
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.16.106:5000"]
          endpoint = ["http://192.168.16.106:5000"]


重新加载配置,使配置生效并重启Containerd

systemctl daemon-reload && systemctl restart containerd.service

此时,K8S集群各个节点即可正常从私有镜像仓库拉取镜像。

相关推荐

  1. docker 镜像仓库harbor安装

    2024-03-20 12:48:02       72 阅读
  2. 【DevOps-08-1】Harbor镜像仓库介绍安装

    2024-03-20 12:48:02       67 阅读
  3. 第二步:私有镜像仓库Harbor使用

    2024-03-20 12:48:02       57 阅读
  4. Docker Harbor私有镜像image仓库安装

    2024-03-20 12:48:02       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 12:48:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 12:48:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 12:48:02       82 阅读
  4. Python语言-面向对象

    2024-03-20 12:48:02       91 阅读

热门阅读

  1. Spring Data访问Elasticsearch----实体回调Entity Callbacks

    2024-03-20 12:48:02       42 阅读
  2. 医学预测变量筛选的几种方法(R语言版)

    2024-03-20 12:48:02       37 阅读
  3. immer的使用

    2024-03-20 12:48:02       43 阅读
  4. UGUI源码分析与研究3-扩展UGUI实现自定义UI组件

    2024-03-20 12:48:02       44 阅读
  5. React 19有哪些新的变化

    2024-03-20 12:48:02       33 阅读
  6. Nginx高级数据结构之共享内存ngx_shm_t

    2024-03-20 12:48:02       43 阅读
  7. 机器视觉系统选型-相机基础知识

    2024-03-20 12:48:02       40 阅读
  8. 飞天使-k8s知识点27-kubernetes温故知新2-deployment

    2024-03-20 12:48:02       42 阅读
  9. Python网络爬虫的设计与实现研究

    2024-03-20 12:48:02       44 阅读
  10. 获取指定日期金融期货数据

    2024-03-20 12:48:02       37 阅读
  11. react中useContext的用法

    2024-03-20 12:48:02       36 阅读