Docker——Harbor镜像仓库创建

Harbor安装配置

安装docker与docker-compose

step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils

Step 2: 添加软件源信息

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 安装Docker

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose

sudo service docker start

安装并解压harbor

[root@dockera ~]# wget https://github.com/goharbor/harbor/releases/download/v2.13.1/harbor-offline-installer-v2.13.1.tgz

[root@dockera ~]# unzip main.zip

修改harbor.yml(如果使用http协议需要把https注释,否则会报错)

[root@dockera harbor]# cp harbor.yml.tmpl harbor.yml

[root@dockera harbor]# vim harbor.yml

修改hostname为本机IP(其他机器同理)

image-20250711144457002.png

harbor管理员密码与harbor数据库密码(默认)

image-20250711144612358.png

执行安装脚本

[root@dockera harbor]# bash install.sh

查看harbor服务运行状态

[root@dockerb harbor]# docker-compose ps

image-20250711153310056.png

附加:docker-compose ps报错

image-20250711152649425.png

错误原因:docker-compose版本过低,harbor不支持

修复方法:

1、删除旧版本docker-compose

[root@dockerb harbor]# yum remove docker-compose -y

2、github下载最新版本

curl -SL https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

3、添加执行权限

chmod +x /usr/local/bin/docker-compose

4、创建命令软链接

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

5、查看版本号

[root@dockerb harbor]# docker-compose version

Haobor镜像上传与下载

配置docker客户端信任harbor仓库(要为所有docker添加信任配置)

[root@dockera ~]# vim /etc/docker/daemon.json (在"insecure-registries"处添加所有harbor仓库地址,其余harbor服务器同配置)

{
	"registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://hub-mirror.c.163.com",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn/"
     ],
	"insecure-registries": ["10.0.0.191:5000","10.0.0.191","10.0.0.192"],
	"exec-opts": ["native.cgroupdriver=systemd"]

}
harbor新建项目(-1为无限制)

image-20250711165746336.png

认证docker login

[root@dockerb ~]# docker login 10.0.0.191
image-20250711192535253.png

制作docker镜像标签

[root@dockera ~]# docker tag nginx:1.20 10.0.0.191/infra/nginx:1.20

推送docker镜像

[root@dockera harbor]# docker push 10.0.0.191/infra/nginx:1.20
image-20250711193217288.png

拉取镜像(需要对象仓库是公开的或者认证docker login)

[root@dockerb ~]# docker pull 10.0.0.191/infra/jenkins:jdk21

image-20250711195721074.png

harbor配置镜像扫描Trivy

部署时指定一个参数启动Trivy(前提是该节点已安装Trivy,安装时需要先把当前docker服务停止)

[root@dockera harbor]# docker-compose down

重新执行安装脚本安装扫描器(加上指定参数)

[root@dockera harbor]# bash install.sh --with-trivy

image-20250711200709680.png

设置上传自动扫描(仅针对当前设置的上传项目目录)

image-20250711200914174.png

扫描漏洞需要网络质量好(或添加代理),否则可能会失败