harbor----构建企业级的私有仓库

目录

harbor简介:

一、构建企业级的私有仓库

二、harbor的更多功能

1、安装添加内容签名和扫描和chart

 2、内容信任---镜像签名


harbor简介:

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
harbor以docker-compose的规范形式组织各个组件,并通过docker-compose工具进行启停。


一、构建企业级的私有仓库

  删掉之前的镜像

docker ps 
docker rm -f registry
docker ps -a


真机中:把docker-compose-linux-x86_64-v2.0.1和harbor-offline-installer-v2.3.4.tgz传给server1 

ls
mv docker-compose-linux-x86_64-v2.0.1 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose   #给执行权限
docker-compose  #运行
tar zxf harbor-offline-installer-v2.3.4.tgz   #解压

 生成配置文件.tmpl是模板

cd harbor/
ls
cp harbor.yml.tmpl harbor.yml 
ls

 编辑配置文件

vim harbor.yml 
  5 hostname: reg.westos.org  #域名要和刚才生成认证的域名保持一致
  17   certificate: /data/certs/westos.org.crt   #证书的位置
  18   private_key: /data/certs/westos.org.key   #key的位置
  34 harbor_admin_password: westos

mkdir /data
cd
ls
mv certs/ /data/  #移动原来创建的证书
cd /data/
ls
cd certs/
ls
cd
cd harbor/
ls
mkdir /var/log/harbor/
ls
./install.sh   #会自动生成docker-compose文件【此命令必须和docker-compose.yml保持在同一目录】
pwd
ls
docker-compose ps  #执行的时候是从docker-compose.yml文件里加载信息的【有9个容器】

 

网页:访问172.25.70.1  #访问80时做了端口映射,【仓库监听的是本机的80,且访问80会自动重定向到443】

netstat -antlp
docker images  #可以看到启动容器导入的镜像
docker-compose ps
ll docker-compose.yml 
cd  
docker-compose ps #没有在刚才的目录读取文件会报错

 

 网页中library是默认项目,存在library项目里的镜像在拉取的时候直接指向镜像名

docker tag reg.westos.org/busybox:latest  reg.westos.org/library/busybox:latest
docker logout reg.westos.org  #退出刚才的登陆
cd .docker/
ls
cat config.json 
docker login reg.westos.org  #登陆,访问现在的仓库
ls
cat config.json  #可以看到信息已经保存起来了,不用每次上传的时候登陆了
cd

 上传镜像

docker push reg.westos.org/library/busybox:latest


网页中:刷新可以看到在library项目里可以看到刚刚上传的镜像

docker tag nginx:1.18 reg.westos.org/library/nginx:1.18
docker push reg.westos.org/library/nginx:1.18 


网页中:刷新可以看到在library项目里可以看到刚刚上传的镜像

开启server2:server1中:
 

cd /etc/yum.repos.d/
ls
scp docker-ce.repo CentOS-Base.repo  server2:/etc/yum.repos.d/ 
 #软件仓库传输过去为了安装docker

cd /etc/sysctl.d/
ls
scp docker.conf server2:/etc/sysctl.d/  
#传输文件,为修改内核选项

cd /etc/docker/
ls

scp -r certs.d/ server2:/etc/docker/  
#server2需要证书


scp daemon.json server2:/etc/docker/  
#server2需要知道仓库在什么地方

 server2:

yum install -y docker-ce
sysctl --system  #生效
systemctl start docker  #启动
systemctl enable docker   #设置开机自起
docker info
vim /etc/hosts
  #给server1添加解析:reg.westos.org

cd /etc/docker/
ls
vim daemon.json 
  #修改为:https://reg.westos.org/   #指定私有仓库
systemctl daemon-reload 
systemctl reload docker
docker info  #查看是否生效
docker images
docker pull busybox  #拉取是从私有仓库拉取的
docker pull nginx:1.18
docker images

 网页中刷新点击日志,可以看到拉取的信息【拉取可以是匿名的,但上传不是匿名】


二、harbor的更多功能

1、安装添加内容签名和扫描和chart

cd /data/  #整个harbor的所有数据所在的位置
cd
cd harbor/
docker-compose ps  #启动
docker-compose stop  #停止【docker-compose是整体的停止】
ls
docker ps -a
docker ps
docker-compose  down  #删除现有的所有的容器
docker-compose ps -a
docker network ls  #查看网络
docker volume ls   #查看卷
cd
ls
cd harbor/
ls
./install.sh --with-notary --with-trivy --with-chartmuseum  #在安装的时候添加内容签名和扫描和chart
docker-compose  ps #可以看到开启了比较多的容器

 网页中点击library--busybox 点击扫描

 2、内容信任---镜像签名

cd 
cd .docker/
pwd


部署根证书: 

mkdir tls/reg.westos.org:4443 -p  #建立目录
cd tls/
ls
cd reg.westos.org\:4443/
pwd
cp /etc/docker/certs.d/reg.westos.org/ca.crt .
ls


启动docker内容信任

export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=https://reg.westos.org:4443  
cd
docker push reg.westos.org/library/nginx:1.18  #在上传的时候一定要加标签,因为内容信任是通过标签判断的


#需要给两个密码,跟key传的是nginx镜像,标签改了没有关系,镜像本身不改没有关系。【镜像名不发生改变不用输入根key】

 网页:进入library可以看到已经签名

server2:

docker images
docker rmi nginx:1.18 
docker pull nginx:1.18  #拉取时速度很快【从仓库匿名拉取】

 网页查看扫描是否完成

 server1:

cd /data/
cd trivy-adapter/
ls
cd trivy/
cd db/
ls
pwd
du -h trivy.db #扫描完后查看大小
ll
cd ..
ll

网页点击nginx进行扫描

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值