天天看点

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

Harbor仓库

  • 一、Harbor简介
  • 二、安装部署Harbor仓库
  • 三、Harbor仓库的使用
  • 四、harbor安全验证

一、Harbor简介

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。

Harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。

Harbor作为一个企业级私有Registry服务器,提供了更好的性能和安全,提升用户使用Registry构建和运行环境传输镜像的效率。

Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络中管控。

二、安装部署Harbor仓库

先将之前的registry容器删除

docker rm -f registry

1. 安装docker-compose

下载得到docker-compose文件,将docker-compose二进制文件放入/usr/local/bin目录下并赋予权限

docker-compose-Linux-x86_64-1.27.0  
mv /root/docker-compose-Linux-x86_64-1.27.0 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose   #给其执行权限
           

2. 解压Harbor安装包并配置

tar zxf harbor-offline-installer-v1.10.1.tgz

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

3. 编辑harbor配置文件

vim harbor.yml

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

拷贝证书目录到配置文件写的指定路径/data目录下

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

4. 安装harbor

执行harbor目录下install.sh安装脚本

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

查看harbor目录,存在docker-compose.yml,此时可以启动docker-compose(必须在harbor目录下执行)

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

5. 测试harbor仓库

真实主机设置域名解析reg.westos.org,然后用真机浏览器进行访问(浏览器也可以直接输入server1的IP进行访问仓库)

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

出现此图是因为仓库证书是自签证书浏览器不信任,直接选择继续访问

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

登陆界面输入harbor.yml中填入的用户及密码即可登陆

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证
Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

这里library是harbor的默认仓库

此时server1可以登陆reg.westos.org通过用户认证后上传镜像,通过浏览器图像界面查看镜像更加直观

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证
Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

配置server2的docker仓库源和域名解析

cd /etc/docker
vim deamon.json    #写入仓库源
systemctl reload docker   #重新加载docker配置
docker info   #查看docker信息
           
Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

server2从harbor仓库拉取镜像

这里可以看到server2本来没有nginx镜像,但是当server2直接运行nginx容器时会自动从harbor的默认仓库拉取镜像

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

在web页面可以看到我们前面操作的日志记录

三、Harbor仓库的使用

创建私有仓库

新建项目将会新建一个仓库,不选择公开项则默认为私有仓库

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证
Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

还可以创建用户并为用户设定密码,然后将创建的用户添加到仓库成员中并设置角色

四、harbor安全验证

  • –with-notary: 镜像信任,Notary是Docker镜像的签名工具,用来保证镜像在pull,push和传输过程中的一致性和完整性,避免中间人攻击,避免非法的镜像更新和运行。

    镜像信任功能能够保证镜像的安全,只有打了信任标签的镜像才能被拉取

  • –with-clair: 镜像安全扫描,Harbor与Clair集成,添加漏洞扫描功能。 默认在运行harbor时漏洞扫描是没有开启的,需要重新开启并添加参数
  • –with-chartmuseum: 支持chart仓库服务

添加harbor安全验证需要重新安装harbor仓库

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

镜像安全扫描

添加harbor安全验证后我们可以对仓库的镜像进行安全扫描

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证
Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

可以在仓库配置管理中设置自动对镜像进行安全扫描

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

内容信任

启用内容信任功能

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

此时如果上传镜像会失败,因为我们没有部署根证书

部署根证书:

mkdir ~/.docker/tls/reg.westos.org:4443 -p
cd ~/.docker/tls/reg.westos.org:4443
cp /etc/docker/certs.d/reg.westos.org/ca.crt .
           

再次进行镜像上传,可以看到签名成功并上传

上传成功的镜像在浏览器中查看可以看到显示已签名

Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证

现在用server2拉取私有仓库中未签名的镜像将会被拒绝

当我们上传仓库已经存在的镜像时会显示exsit,所以需要修改镜像标签,我们只用输入repository key

密码为 westos12345 这些内容都在harbor.yml配置文件中

关闭内容信任功能

export DOCKER_CONTENT_TRUST=0
           
Linux企业运维——Docker之Harbor仓库(四)一、Harbor简介二、安装部署Harbor仓库三、Harbor仓库的使用四、harbor安全验证