Perfree

Perfree

Perfree

岁岁安宁

54 文章数
73 评论数

私有docker镜像仓库Harbor安装

perfree
2023-05-02 / 0 评论 / 1186 阅读 / 0 点赞

Harbor (港口,港湾)是一个用于存储和分发Docker镜像的企业级Registry服务器。我们可以使用dockerhub仓库或者阿里云docker仓库等第三方仓库管理我们的docker镜像。对于企业来说,条件允许,可以搭建自己的docker镜像管理仓库。Harbor具有很多优势,能够提供分层传输机制,优化网络传输 Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。提供WEB界面,优化用户体验只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。支持水平扩展集群,当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。良好的安全机制 企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。本文记录了harbor的详细安装过程(基于centos)

安装docker

  1. 更新yum 推荐先更新一下,当然也可以不更新或者更新过了的可以跳过此步骤
[root@center ~]# yum update
  1. 设置国内镜像源
[root@center ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装docker所需软件包
[root@center ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 安装最新版的docker 此处安装的为最新版的docker,如需指定版本可自行查询
[root@center ~]# sudo yum install docker-ce docker-ce-cli containerd.io
  1. 启动docker并验证是否成功
[root@center ~]# sudo systemctl start docker
[root@center ~]# docker version
  1. 设置开机自启
[root@center ~]# sudo systemctl enable docker

安装docker-compose

# 安装epel源
[root@center ~]# yum install -y epel-release
# 安装docker-compose
[root@center ~]# yum install -y docker-compose
# 验证
[root@center ~]# docker-compose --version

安装Harbor

  1. 下载离线安装包 官方下载地址: https://github.com/goharbor/harbor/releases,注意要下载的是offline离线版本,里面包含Harbor的所有文件
  2. 将下载的离线包上传至服务器并解压
[root@center ~]# tar -zxvf harbor-offline-installer-v2.8.0.tgz -C /opt/
  1. 生成证书 因为本人没有申请域名和购买SSL证书,则需要自己生成 此步骤需要在解压后的/opt/harbor目录下执行
[root@center ~]# cd /opt/harbor/
[root@center harbor]# openssl genrsa -out ca.key 4096
# 注意填写实际ip
[root@center harbor]# openssl req -x509 -new -nodes -sha512 -days 3650 \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.145.103" \
  -key ca.key \
  -out ca.crt
# 注意填写实际ip
[root@center harbor]# openssl req -x509 -new -nodes -sha512 -days 3650 \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.145.103" \
  -key ca.key \
  -out ca.crt
  1. 移动证书位置
[root@center harbor]# mkdir /data/cert/
[root@center harbor]# mv ca* /data/cert/
  1. 修改harbor配置
[root@center harbor]# cp harbor.yml.tmpl harbor.yml
[root@center harbor]# vim harbor.yml

主要修改以下内容

  1. 生成配置文件
[root@center harbor]# ./prepare
  1. 安装harbor
[root@center harbor]# ./install.sh

等待安装完成,访问自己的ip或者域名

问题

如遇到x509问题可通过配置insecure-registries来解决,linux可将harbor服务器ip添加至/etc/docker/daemon.json文件insecure-registries中,如下:

{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"],
 "insecure-registries": ["192.168.145.103"]
}

之后重启docker

[root@node1 ~]# sudo systemctl daemon-reload
[root@node1 ~]# sudo systemctl restart docker.service
# 验证登录
[root@node1 ~]# docker login 192.168.145.103
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

win直接在docker desktop中修改即可,参考下图

其他命令

卸载harbor

[root@center harbor]# sudo docker-compose down -v
[root@center harbor]# rm -r /data/database
[root@center harbor]# rm -r /data/registry

::: primary 标题 内容 :::

文章不错,扫码支持一下吧~
下一篇
评论
来首音乐
最新回复
光阴似箭
今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月