容器技术与应用案例教程03仓库管理_第1页
容器技术与应用案例教程03仓库管理_第2页
容器技术与应用案例教程03仓库管理_第3页
容器技术与应用案例教程03仓库管理_第4页
容器技术与应用案例教程03仓库管理_第5页
已阅读5页,还剩33页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目三

仓库管理

1项目导读

Docker仓库提供存储和分发Docker镜像的服务。它允许用户上传、下载和管理镜像。Docker仓库可以是公共的,也可以是私有的。公共仓库提供了大量的开源镜像供用户免费使用,而私有仓库安全性更高,通常用于企业内部的镜像管理。2学习目标知识目标了解公共仓库和私有仓库的特点。掌握Registry私有仓库的搭建流程。了解Harbor及其特点。了

解Harbor框架。能力目标能够搭建Registry私有仓库。能够搭建Harbor私有仓库。素质目标培养学生探究学习的能力,激发他们的创新思维和自主学习能力。通过构建私有仓库,提升学生的逻辑思维和结构化思维的能力。3搭建Registry私有仓库任务一4任务描述小旌了解到,相较于公共仓库,私有仓库更适合存储那些包含特定依赖和配置、且需要保持私密性的镜像。于是他决定深入学习公共仓库和私有仓库的相关概

念,并动手搭建Registry私有仓库,以便实现镜像的集中存储和高效管理。5任务准备扫码观看视频,讨论并回答下列问题。问题1:公有云厂商通常提供Docker仓库的______________服务,允许用户将Docker镜像上传到云端进行存储和管理。问题2:简述Docker仓库对公有云的影响。6公有云与Docker仓库

的联系一、Docker公共仓库DockerHub是Docker官方提供的一个公共仓库,也是较为常用的公共注册中心(Registry),

该仓库提供了大量高质量的官方镜像供用户免费使用。7Registry又称注册中心或注册服务器,是存放Docker仓库的地方。按照用户的访问方法,Registry主要分为公共Registry服务和私有Registry服务两种。知识加油站一、Docker公共仓库1.DockerHub公共仓库的特点DockerHub公共仓库为用户提供了镜像的存储、共享和分发服务,主要具有以下特点。8Docker

Hub

拥有数百万个镜像,涵盖了各种操作系统、数据库、应用服务器及中间组件,可以满足不同用户的需求。Docker

Hub

Docker

公司官方维护,Docker

公司会对上传的镜像进行审核,并对一些常见的安全漏洞进行扫描和检测,确保镜像的安全性。丰富的镜像资源便捷地查找并拉取镜像自动化构建版本控制与更新安全性Docker

Hub支持自动化构建功能,即当用户提交代码到指定的代码仓库时,Docker

Hub会自动触发构建流程,生成新的镜像并上传到DockerHub上。这为用户提供了更加便捷和高效的镜像更新方式。Docker

Hub允许用户为镜像添加不同的标签,便于用户管理和追踪不同版本的镜像。用户可以轻松地在

Docker

Hub中查找所需的镜像,并将其快速下载到本地使用。一、Docker公共仓库2.DockerHub公共仓库的使用方式(1)命令方式通过dockerlogin、dockersearch、dockerpull和dockerpush等命令使用DockerHub公共仓库。9dockerlogin[-u用户名][-p密码]dockerlogout命令用于退出DockerHub公共仓库,其格式如下。dockerlogin命令用于登录DockerHub公共仓库,其格式如下。

dockerlogout(2)Web

界面方式打开浏览器访问地址“”,登录后可以在Web

界面中使用

Docker

Hub公共仓库的各种功能,如上传和拉取镜像、创建和管理仓库等。Docker私有仓库是一种为企业内部或特定用户群体设计的存储和管理Docker镜像的私有解决方案,允许企业或个人在本地或专用网络中存储、管理和分发Docker镜像,

而不依赖于公共的Docker镜像仓库。10二、Docker私有仓库1234特点性能优化相较于从公共仓库中拉取镜像,内部网络中的私有仓库可以提供更快的下载和上传速度,减少网络延迟。定制化私有仓库能够根据用户的实际需求,灵活定制仓库的功能,以适应个性化的使用场景。安全性访问控制私有仓库提供了严格的访问控制机制,确保只有授权用户才能访问和操作仓库中的镜像,从而保护敏感数据。私有仓库通常运行在企业内部网络中,限制了外部访问,可以减少外部安全风险。1.私有仓库的特点2.搭

建Docker私有仓库的方式搭建私有仓库通常基于Registry和Harbor等方式。11二、Docker私有仓库Registry是Docker官方提供的开源镜像仓库软件,它本身不包含图形界面,也不提供镜像维护、用户管理、访问控制等高级功能,只提供简单的私有仓库需求;Harbor提供了更丰富的功能和更高的安全性。3.Registry私有仓库的搭建流程12二、Docker私有仓库curl-XGEThttp://宿主机的IP地址:5000/v2/_catalog创建使用浏览器访问地址“http://宿主机的IP地址:5000/v2/_catalog",或者使用curl命令进行验证。curl命令的格式如下。01STEP02STEP03STEP创建并启动registry容器拉取registry镜像查看仓库是否成功创建04STEP05STEP3.Registry私有仓库的搭建流程13二、Docker私有仓库01STEP02STEP03STEP创建并启动registry容器拉取registry镜像查看仓库是否成功创建04STEP05STEP修改“/etc/docker/daemon.json”文件由于Docker客户端采用HTTPS协议,而Registry并未采用HTTPS协议,所以需要添加以下内容,避免因协议不一致导致无法上传镜像。在“/etc/docker/daemon.json”文件修改完成后,需要重新加载配置文件,并重启Docker

服务。{"insecure-registries":["宿主机的IP地址:5000"]}3.Registry私有仓库的搭建流程14二、Docker私有仓库01STEP02STEP03STEP创建并启动registry容器拉取registry镜像查看仓库是否成功创建04STEP05STEP修改“/etc/docker/daemon.json”文件测试仓库首先拉取一个镜像,并为该镜像设置新的标签(格式为“宿主机的IP地址:5000/镜像名:标签名”),然后将该镜像上传到私有仓库,最后查看镜像是否上传成功。任务实施——搭建Registry私有仓库Registry镜像,即DockerRegistry镜像,是Docker官方提供的一个镜像,用于搭建私有镜像仓库,实现Docker镜像的存储、管理和分发。使用Registry搭建本地私有仓库,实际上就是运行

一个registry容器,并由该容器管理本地镜像仓库。15搭建Registry私有仓库任务实施——搭建Registry私有仓库16步骤1以管理员身份登录CentOS操作系统,打开命令行终端,执行以下命令从DockerHub公共仓库中拉取registry镜像。[root@localhost~]#dockerpullregistry步骤2执行以下命令基于registry镜像创建并启动名为pri_registry的容器,并将宿主机的5000端口映射到容器的5000端口。[root@localhost~]#dockerrun-d-p5000:5000--namepri_registryregistry步骤3执行以下命令查看正在运行的容器。[root@localhost~]#dockerps任务实施——搭建Registry私有仓库17步骤4执行以下命令查看Registry仓库是否创建成功。[root@localhost~]#curl-XGET30:5000/v2/_catalog步骤5使用文本编辑器Vim打开“/etc/docker/daemon.json”文件,并在其中添加配置参数(注意使用逗号和前面的配置进行分隔),避免因协议不一致导致无法上传镜像,编辑完成后保存文件并退出,如图所示。[root@localhost~]#vim/etc/docker/daemon.json任务实施——搭建Registry私有仓库18步骤6执行以下命令重新加载配置文件,并重启Docker服务。Docker服务重启后镜像仓库容器会关闭,需要重启pri_registry容器。[root@localhost~]#systemctldaemon-reload[root@localhost~]#systemctlrestartdocker[root@localhost~]#dockerrestartpri_registrypri_registry步骤7执行以下命令从DockerHub公共仓库中拉取busybox镜像。[root@localhost~]#dockerpullbusybox步骤8执行以下命令将busybox:latest镜像的标签修改为30:5000/busybox:latest,并查看镜像信息。[root@localhost~]#dockertagbusybox:latest30:5000/busybox:latest[root@localhost~]#dockerimages任务实施——搭建Registry私有仓库19步骤9执行以下命令将镜像上传到本地私有仓库中。[root@localhost~]#dockerpush30:5000/busybox:latest步骤10执行以下命令查看镜像是否上传成功。[root@localhost~]#curl-XGET30:5000/v2/_catalog搭建Harbor私有仓库任务二20任务描述小旌发现,虽然Registry私有仓库能够满足基本的私有镜像的存储需求,但一些企业往往期望私有仓库能够具备更丰富的功能和更高的安全性,而Harbor可以提供更高效、更安全、更稳定的Docker镜像管理服务。于是,小旌准备学习Harbor的相关知识,并着手搭建Harbor私有仓库。21任务准备扫码观看视频,讨论并回答下列问题。问题1:_________________为用户提供了一个集中管理和分发Docker镜像的平台。问题2:列举5个常用的Docker仓库。22常用的Docker仓库一、什么是HarborHarbor是一个由VMware公司打造的开源企业级DockerRegistry项目,旨在帮助用户快速搭建一个企业级的DockerRegistry服务

。Harbor的主要特点如下。2312图形化用户界面Harbor提供了直观的Web界面,使用户能够轻松地浏览和管理镜像。访问控制Harbor采用基于角色的访问控制(rolebasedaccess

control,RBAC),管理员能够根据组织结构和角色需求为不同用户分配不同的权限。例如,开发者可以拥有上传和拉取镜像的权限,而测试人员可能只拥有拉取镜像的权限。一、什么是Harbor24镜像复制Harbor

支持在多个镜像仓库之间复制镜像,适用于负载均衡、高可用和混合云等场景。审计管理所有针对镜像和仓库的操作都可以被记录追溯,便于审计和合规性检查。345支持LDAP/ADHarbor支持多种身份验证和授权机制,如LDAP(轻量级目录访问协议)和AD(活动目录)等,确保只有授权用户可以访问和管理镜像。二、Harbor架构Harbor的每个组件都被封装为独立的Docker容器,即每个组件都可以独立运行,并且可以在不同的环境中部署和扩展。Harbor主

括ProxyRegistry、CoreService、Database、LogCollector和JobService组件,其架构如图所示,各组件含义如下。25Proxy:使用Nginx作为反向代理服务器,它位于Harbor的前端,负责接收用户的请求并将其转发给相应的后端服务。Registry:Docker仓库,主要用于存储Docker镜像,并为dockerpush/dockerpull命令请求获取有效的令牌。Database:Harbor的数据库,用于存储用户权限、审查日志等数据。LogCollector:提供Harbor的日志服务,用于收集其他组件的日志。Job

Service:提供镜像远程复制功能,可以把本地镜像复制或同步到其他

Harbor实例中。二、Harbor架构26Core

Service:Harbor的核心组件,主要包括UI、Token和Webhook模块。UI提供图形化用户界面,帮助用户管理镜像,并对用户进行授权。Token主要用于根据用户权限为每条dockerpush/dockerpull命令分发令牌,若发送的命令请求没有令牌,则该命令请求将被重定向给Token,获得令牌后再重新向Registry进行命令请求。Webhook主要用于及时获取Registry中镜像的状态变化,并将这些状态变化传递给UI。素养之窗27天翼云是中国电信旗下的云计算服务品牌,提供包括云服务器、云存储、云数据库、大数据、人工智能等多种云服务。天翼云云容器引擎(cloudcontainerengine,CCE)是天翼云提供的一种基于

Kubernetes

的容器服务,提供了丰富的容器部署方式,支持多种类型的容器集群,简化了应用程序的部署和管理,旨在帮助用户在云上轻松地部署、管理和扩展容器化应用程序。说一说你了解的天翼云任务实施——搭建Harbor私有仓库Harbor私有仓库能够为用户提供

一个简洁的Web操作界

面,用户可以通过可视化的操作方式管理镜像。用户在任务实施前须将“docker-compose-linux-x86_64-2.17”和“harbor-offline-installer-v1.10.10.tgz”文件上传到宿主机的“/root”目录下。28搭建Harbor私有仓库任务实施——搭建Harbor私有仓库29步骤1以管理员身份登录CentOS操作系统,打开命令行终端,执行以下命令将“docker-compose-linux-x86_64-2.17”文件移动到“/usr/local/bin/”目录下,并修改文件名称为“docker-compose”。[root@localhost~]#mvdocker-compose-linux-x86_64-2.17/usr/local/bin/docker-compose步骤2执行以下命令将“/usr/local/bin/docker-compose”文件的访问权限设置为完全权限。[root@localhost~]#chmod777/usr/local/bin/docker-compose步骤3执行以下命令查看DockerCompose的版本,测试DockerCompose是否安装成功。[root@localhost~]#docker-compose--version1.安装DockerCompose任务实施——搭建Harbor私有仓库30步骤1执行以下命令创建“/opt/harbor”目录。[root@localhost~]#mkdir-p/opt/harbor步骤2执行以下命令将“harbor-offline-installer-v1.10.10.tgz”文件解压到“/opt/harbor/”目录中。[root@localhost~]#tar-zxvfharbor-offline-installer-v1.10.10.tgz-C/opt/harbor/步骤3执行以下命令切换到“/opt/harbor/harbor/”目录,并查看当前目录中的文件。[root@localhost~]#cd/opt/harbor/harbor/[root@localhostharbor]#ll2.安装Harbor私有仓库任务实施——搭建Harbor私有仓库31步骤4使用文本编辑器Vim打开“/opt/harbor/harbor/harbor.yml”文件。将“hostname”的值修改为宿主机的IP地址(如30),注释“https”部分的所有行(即在行首添加“#”),编辑完成后保存文件并退出,如图所示。[root@localhostharbor]#vim/opt/harbor/harbor/harbor.yml2.安装Harbor私有仓库任务实施——搭建Harbor私有仓库32步骤5为了避免其他容器与Harbor私有仓库中的容器发生冲突,执行以下命令删除其他容器。[root@localhostharbor]#dockerrm-f$(dockerps-a-q)步骤6执行以下命令运行“./install.sh”脚本安装Harbor私有仓库,Harbor私有仓库在安装成功后会自动启动。[root@localhostharbor]#./install.sh2.安装Harbor私有仓库任务实施——搭建Harbor私有仓库33步骤1打开浏览器访问地址“30”(“30”为宿主机的IP地址),即可进入Harbor私有仓库的登录界面,如图所示。3.上传镜像到Harbor私有仓库任务实施——搭建Harbor私有仓库34步骤2在Harbor私有仓库的登录界面中输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论