Harbor安装及配置并上传下载镜像

时间:2024-01-25 15:33:19

环境:准备两台测试机器

内存最少要2G

A机器名称=docker 

B机器名称=harbor

为harbor机器自签发证书

若要了解签发证书详细步骤请点我

更改主机名称及创建证书目录

[root@localhost ~]# hostnamectl set-hostname harbor && bash
[root@harbor ~]# mkdir -p /data/ssl && cd /data/ssl 


docker机器也改一下主机名称
[root@localhost ~]# hostnamectl set-hostname harbor && bash

生成sa证书

生成一个3072位的私钥
[root@harbor ssl]# openssl genrsa -out ca.key 3072

生成一个数字证书ca.pem,3650表示证书的有效时间是3年,如下图按提示自定义填写
[root@harbor ssl]# openssl req -new -x509 -days 3650 -key ca.key -out ca.pem

Harbor安装及配置并上传下载镜像_linux

生成域名的证书

生成一个3072位的私钥
[root@harbor ssl]# openssl genrsa -out harbor.key 3072

生成一个证书请求,一会签发证书时需要的
[root@harbor ssl]# openssl req -new -key harbor.key -out harbor.csr

Harbor安装及配置并上传下载镜像_Harbor_02

签发证书

[root@harbor ssl]# openssl x509 -req -in harbor.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out harbor.pem -days 3650

Harbor安装及配置并上传下载镜像_Harbor_03

关闭防火墙及selinux并添加hosts

[root@harbor ssl]# systemctl disable firewalld --now
[root@harbor ssl]# setenforce 0
[root@harbor ssl]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

修改后hosts添加A机器及本机的域名&&& (两台机器都添加对方及本机的域名)
vim /etc/hosts

安装docker

两台机器都安装docker且配置也都同样做

若要了解安装docker详细步骤请点我

依次执行
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum makecache
yum -y install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker --now
docker version

配置镜像加速器参考上方链接


开启包转发功能和修改内核参数

[root@harbor ssl]# cat > /etc/sysctl.d/docker.conf <<EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> net.ipv4.ip_forward = 1
> EOF

[root@harbor ssl]# sysctl -p /etc/sysctl.d/docker.conf
[root@harbor ssl]# systemctl restart docker

安装harbor

在harbor机器上安装harbor、docker-compose并配置

harbor默认的账号密码:admin/Harbor12345


创建安装目录
[root@harbor ssl]# mkdir -p /data/install && cd /data/install 

harbor下载离线包地址
https://github.com/goharbor/harbor/releases/

或者wget下载
wget https://github.com/goharbor/harbor/releases/download/v2.7.4-rc1/harbor-offline-installer-v2.7.4-rc1.tgz

解压并修改配置文件
[root@harbor install]# tar -zxvf harbor-offline-installer-v2.3.0-rc3.tgz
[root@harbor install]# cd harbor
[root@harbor harbor]# cp harbor.yml.tmpl  harbor.yml
[root@harbor harbor]# vim harbor.yml

修改主机名及ssl证书的配置文件和key的路径存放位置
[root@harbor install]# ls /data/ssl/
ca.key  ca.pem  ca.srl  harbor.csr  harbor.key  harbor.pem


Harbor安装及配置并上传下载镜像_Harbor_04

安装docker-compose

由于harbor是依赖于docker-compose安装的,需要安装

[root@harbor harbor]# wget https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64
[root@harbor harbor]# mv docker-compose-Linux-x86_64.64 /usr/bin/docker-compose
[root@harbor harbor]# chmod +x /usr/bin/docker-compose
[root@harbor harbor]# docker-compose --version

安装harbor离线镜像包


进入到harbor下并下载
[root@harbor harbor]# cd /data/install/harbor
[root@harbor harbor]# bash install.sh

验证查看,如图所示
[root@harbor harbor]# docker-compose ps
[root@harbor harbor]# docker images

Harbor安装及配置并上传下载镜像_Harbor_05

访问:
浏览器输入 ip:port

Harbor安装及配置并上传下载镜像_Harbor_06

使用harbor

A机器使用harbor 上传拉取镜像


在harbor上创建一个项目

Harbor安装及配置并上传下载镜像_linux_07


添加修改镜像加速地址

在原有的地址上加入harbor服务器的地址和主机名 内容如下图:
[root@docker docker]# cat /etc/docker/daemon.json

重新加载配置文件并重启docker
[root@docker docker]# systemctl daemon-reload
[root@docker docker]# systemctl restart docker

Harbor安装及配置并上传下载镜像_Harbor_08

登入harbor (harbor机器的I)
[root@docker docker]# docker login 192.168.XX.131

上传镜像至harbor

下载一个tomcat镜像测试
[root@docker ~]# docker pull tomcat

将tomcat镜像添加标签用于分辨测试(harbor的[ip]/[项目名称“test”]/[自定义标签名称]:[tag])
[root@docker ~]# docker tag tomcat 192.168.XX.131/test/tomcat:test_v1
[root@docker ~]# docker push 192.168.xx.131/test/tomcat:test_v1

上传之后在harbor上点击创建的项目test 就能看到上传的镜像

Harbor安装及配置并上传下载镜像_Harbor_09

Harbor安装及配置并上传下载镜像_linux_10

从harbor上下载镜像至本地

删除所有镜像
[root@docker ~]# docker rmi -f $(docker images | awk '{print $3}' | grep "[1-9]")

下载刚刚上传之harbor的镜像
[root@docker ~]# docker pull 192.168.xx.131/test/tomcat:test_v1

Harbor安装及配置并上传下载镜像_Harbor_11