快速安装harbor并添加仓库扫描工具

时间:2023-02-07 11:20:17

安装harbor


1、安装docker-compose

官方文档:​​https://docs.docker.com/compose/install/​​
国内镜像地址网站:​​http://get.daocloud.io/#install-compose

1.1 下载

# 这个是官方地址,可能比较慢,推荐使用下面的国内镜像地址
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)"
-o /usr/local/bin/docker-compose
# 国内镜像地址
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` >
/usr/local/bin/docker-compose

# 下载完之后可以看下 /usr/local/bin 这个目录有没有 docker-compose 这个文件

1.2 授权

# 给docker compose 目录授权
sudo chmod +x /usr/local/bin/docker-compose
# 查看一下version,显示有版本号那就说明安装成功了
docker-compose version


2. 安装harbor

​​https://github.com/goharbor/harbor/releases​​ 下载适合版本
我这里的链接地址:
​​https://github.com/goharbor/harbor/releases/download/v1.10.6/harbor-offline-installer-v1.10.6.tgz​​
下载后解压出来,到对应目录
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
主要修改如下内容:
hostname: 你的服务器IP或域名
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
你的端口号 #默认是80端口
harbor_admin_password: Harbor12345 #Harbor超级管理员密码
database:
# The password for the root user of Harbor DB. Change this before any production use.
数据库管理员密码

data_volume: /data #配置harbor数据文件,也就是未来镜像文件的存储位置,建议修改,不然直接占用系统盘空间。

#同时注释如下内容,默认启用http,而不是https证书除非你有配置https证书
# https related config
#https:
# https port for harbor, default is 443
#port: 443
# The path of cert and key files for nginx
#certificate: /your/certificate/path
#private_key: /your/private/key/path

3.安装trivy 镜像漏洞扫描器

安装,指定clair,notary等参数,
sudo ./install.sh --with-clair --with-trivy --with-chartmuseum,
安装成功后,https登录,admin/Harbor12345,
看到Harbor1.0默认安装了clair做为漏洞扫描器,添加trivy 作为默认漏洞扫描器

快速安装harbor并添加仓库扫描工具

3.1. 查看版本

https://github.com/aquasecurity/harbor-scanner-trivy
[root@localhost home/harbor]# docker pull aquasec/harbor-scanner-trivy:0.19.0

3.2. 重构该镜像

使用root账号运行否则会有权限报错
Dockerfile内容:
ARG TRIVY_VERSION=0.19.0
FROM aquasec/harbor-scanner-trivy:${TRIVY_VERSION}
USER root
ENTRYPOINT ["/home/scanner/bin/scanner-trivy"]

3.3. 构建镜像

docker build -t aquasec/harbor-scanner-trivy-ys:Release.0.19.0   .

3.4. 启动容器

docker run -d -p 8181:8181 --name trivy-adapter -v /data/trivy-adapter/trivy:/home/scanner/.cache/trivy/db \
-e "SCANNER_LOG_LEVEL=trace" \
-e "SCANNER_TRIVY_DEBUG_MODE=true" \
-e "TRIVY_NON_SSL=true" \
-e "SCANNER_API_SERVER_ADDR=:8181" \
-e "SCANNER_REDIS_URL=redis://redis:6379" \
-e "SCANNER_JOB_QUEUE_REDIS_NAMESPACE=harbor.scanner.trivy:job-queue" \
--network harbor_harbor \
aquasec/harbor-scanner-trivy-ys:Release.0.19.0

3.5. 添加trivy 扫描器

快速安装harbor并添加仓库扫描工具

快速安装harbor并添加仓库扫描工具


docker-compose常用命令
docker-compose 命令 --help 获得一个命令的帮助
docker-compose up -d nginx 构建启动nignx容器
docker-compose exec nginx bash 登录到nginx容器中
docker-compose down 此命令将会停止 up 命令所启动的容器,并移除网络
docker-compose ps 列出项目中目前的所有容器
docker-compose restart nginx 重新启动nginx容器
docker-compose build nginx 构建镜像
docker-compose build --no-cache nginx 不带缓存的构建
docker-compose top 查看各个服务容器内运行的进程
docker-compose logs -f nginx 查看nginx的实时日志
docker-compose images 列出 Compose 文件包含的镜像
docker-compose config 验证文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。
docker-compose events --json nginx 以json的形式输出nginx的docker日志
docker-compose pause nginx 暂停nignx容器
docker-compose unpause nginx 恢复ningx容器
docker-compose rm nginx 删除容器(删除前必须关闭容器,执行stop)
docker-compose stop nginx 停止nignx容器
docker-compose start nginx 启动nignx容器
docker-compose restart nginx 重启项目中的nignx容器
docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器,并容器执行php -v 执行完成后删除容器