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(其他机器同理)
harbor管理员密码与harbor数据库密码(默认)
执行安装脚本
[root@dockera harbor]# bash install.sh
查看harbor服务运行状态
[root@dockerb harbor]# docker-compose ps
附加:docker-compose ps报错
错误原因: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为无限制)
认证docker login
[root@dockerb ~]# docker login 10.0.0.191
制作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
拉取镜像(需要对象仓库是公开的或者认证docker login)
[root@dockerb ~]# docker pull 10.0.0.191/infra/jenkins:jdk21
harbor配置镜像扫描Trivy
部署时指定一个参数启动Trivy(前提是该节点已安装Trivy,安装时需要先把当前docker服务停止)
[root@dockera harbor]# docker-compose down
重新执行安装脚本安装扫描器(加上指定参数)
[root@dockera harbor]# bash install.sh --with-trivy
设置上传自动扫描(仅针对当前设置的上传项目目录)
扫描漏洞需要网络质量好(或添加代理),否则可能会失败