Linux企业实战之容器——Harbor仓库

1 什么是harbor

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
镜像的存储harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。
harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。
harbor以docker-compose的规范形式组织各个组件,并通过docker-compose工具进行启停。

Harbor是VMware公司开源了企业级Registry项目, 其的目标是帮助用户迅速搭建一个企业级的Docker registry服务。
它以Docker公司开源的registry为基础,额外提供了如下功能:

  • 基于角色的访问控制
  • 基于策略的镜像复制
  • 镜像的漏洞扫描
  • AD/LDAP集成
  • 镜像的删除和空间清理
  • 友好的管理UI
  • 审计日志
  • RESTful API
  • 部署简单

2 harbor的部署

  • 步骤一:加密生成证书
mkdir  /data/certs -p
cd /data/certs

openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -x509 -days 365 -out certs/westos.org.crt

在这里插入图片描述

在这里插入图片描述

  • 步骤二:拷贝证书到docker的配置目录下
cd /etc/docker
mkdir -p /certs.d/reg.westos.org
cp   /data/certs/westos.org.crt  /etc/docker/certs.d/reg.westos.org
cd /etc/docker/certs.d/reg.westos.org 
mv /westos.org.crt ca.crt

在这里插入图片描述

  • 步骤三:安装docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

在这里插入图片描述

  • 步骤四:安装harbor
tar zxf harbor-offline-installer-v1.10.1.tgz
vim /mnt/harborharbor.yml
更改hostname和certificate以及private__key的路径,设置harbor的密码,以及数据库的密码

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

安装并启动harbor

cd /mnt/harbor
./install.sh
cd /mnt/harbor
docker-compose ps

在这里插入图片描述

在这里插入图片描述

  • 步骤五:在另外一台虚拟机上做好解析
    在这里插入图片描述

  • 步骤六:在刚刚做了解析的虚拟机的浏览器中输入:reg.westos.org来进行访问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 步骤七:上传镜像到私有仓库
cd /etc/docker
vim daemon.json
systemctl daemon-reload
systemctl restart docker
docker login reg.westos.org				#上传镜像到私有仓库需要先登录,用户名和密码就是登录harbor仓库的用户名和密码
docker tag nginx	reg.westos.org/library/nginx	#修改镜像标签
docker push reg.westos.org/library/nginx			#上传镜像到私有仓库
docker rmi nginx
docker pull  reg.westos.org/library/nginx			#从私有仓库拉取镜像,看能否成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 步骤八:从私有仓库拉取镜像
docker rmi reg.westos.org/library/nginx:latest		#先删除原有的镜像
docker pull reg.westos.org/library/nginx			#从私有仓库拉取镜像
docker images							

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他主机如何从私有仓库中来拉取和上传镜像

  • 步骤一:将server3上的/etc/docker/certs.d 拷贝到server2上,将/etc/docker/daemon.json同样拷贝到server2上
scp -r /etc/docker/certs.d server:/etc/docker
scp  /etc/docker/daemon.json server2:/etc/docker

在这里插入图片描述
在这里插入图片描述

systemctl daemon-reload
systemctl restart docker
  • 步骤二:从私有仓库拉取镜像,上传镜像到私有仓库
docker pull reg.westos.org/portainer/portainer
docker images
docker tag yakexi007/game2048  reg.westos.org/library/game2048
docker push reg.westos.org/library/game2048

在这里插入图片描述

在这里插入图片描述

注意上传镜像的时候需要登录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值