kubernetes Spring Cloud 微服务架构—(8)Kubernetes spring cloud 微服务-Registry 私有镜像仓库

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 第 8 章 Registry 私有镜像仓库 本章节讲解私有仓库的工作流程, 主要是了解Docker怎么获取镜像的过程,怎样搭建属于自己的私有仓库,客户端怎样推送镜像到私有仓库,以及私有仓库的管理方法。 学过之前的章节应该会明白,容器运行是需要启动镜像,那么有了镜像,就需要有仓库存放,提供给客户端下载使用, 所以这个就是私有仓库的由来。 前面的章节已经讲了镜像的拉取流程, 以及镜像的存储机制。这节主要讲私有仓库Registry 的搭建。而在实际的生产过程中会使用到Harbor, 在Spring Cloud 与 Kubernetes 课程中会详细的讲解搭建与部署规划。 本章节的

8.0 私有镜像仓库简介

Docker Registry:官方docker镜像存储、管理和分发工具。

 

部署私有仓库可以解决以下问题:

1)   下载镜像时所带来的网络延时。

2)   方便镜像版本的更新与维护

3)部署私有应用程序


8.1 私有镜像仓库工作流程

1)用户本地构建镜像,将镜像推送到Registry仓库.

2) Docker 用户使用的时候,直接从Registry 下载, 无须从Docker Hub 下载.

8.2 搭建私有仓库

官方提供的私有仓库镜像,无需调整,直接使用。将宿主机目录挂载到容器中,提供数据持久化。镜像名称:registry,默认使用       新版。 
#挂载宿主机/opt/myregistry目录到容器目录/var/lib/registry
[root@docker01 ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry

/

8.3 上传本地镜像至私有仓库

#给镜像打tag 标签,要写全镜像仓库地址。 
[root@master mnt]# docker image tag centos:latest 192.168.91.8:5000/centos7:v1.0 
#上传镜像到私有仓库 
[root@master mnt]# docker push 192.168.91.8:5000/centos7:v1.0 
注:报错 
The push refers to repository [192.168.91.8:5000/centos7] 
Get https://192.168.91.8:5000/v2/: http: server gave HTTP response to HTTPS client 
出现https 错误解决方法有两种: 
1) 修改Docker 节点配置文件 (本案例中) 
2) 添加Nginx 反向代理 
解决办法:修改配置文件,建立信任 
[root@docker01 ~]#  vi /etc/docker/daemon.json 
{ 
"insecure-registries": ["192.168.91.8:5000"] 
} 
#重启docker 服务 
[root@docker01 ~]# systemctl restart docker 
#再次推送镜像 
[root@master mnt]# docker push 192.168.91.8:5000/centos7:v1.0 
The push refers to repository [192.168.91.8:5000/centos7] 
0683de282177: Pushing [========>                       ]   38.8MB/237.1MB


/

8.4 查看私有仓库镜像列表

[root@master mnt]# curl http://192.168.91.8:5000/v2/_catalog

{"repositories":["centos7"]}

8.5 删除私有仓库中镜像


/

1)进入docker registry 的容器中 
[root@docker01 ~]# docker exec -it registry /bin/sh 
2)     删除指定镜像目录文件 
/ # rm -fr /var/lib/registry/docker/registry/v2/repositories/centos7 
3)     清理掉blob 
/ # registry garbage-collect /etc/docker/registry/config.yml 
4)     再次查看版本库 
[root@master mnt]#  curl http://192.168.91.8:5000/v2/_catalog 
{"repositories":[]}


 

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
10天前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
|
1月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
103 17
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
1月前
|
Java 关系型数据库 数据库
微服务SpringCloud分布式事务之Seata
SpringCloud+SpringCloudAlibaba的Seata实现分布式事务,步骤超详细,附带视频教程
77 1
|
2月前
|
JSON Java API
利用Spring Cloud Gateway Predicate优化微服务路由策略
Spring Cloud Gateway 的路由配置中,`predicates`​(断言)用于定义哪些请求应该匹配特定的路由规则。 断言是Gateway在进行路由时,根据具体的请求信息如请求路径、请求方法、请求参数等进行匹配的规则。当一个请求的信息符合断言设置的条件时,Gateway就会将该请求路由到对应的服务上。
185 69
利用Spring Cloud Gateway Predicate优化微服务路由策略
|
2月前
|
Java 关系型数据库 Nacos
微服务SpringCloud链路追踪之Micrometer+Zipkin
SpringCloud+Openfeign远程调用,并用Mircrometer+Zipkin进行链路追踪
326 20
|
2月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
153 24
|
2月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
204 6
|
29天前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
233 17
Spring Boot 两种部署到服务器的方式
|
29天前
|
Dart 前端开发 JavaScript
springboot自动配置原理
Spring Boot 自动配置原理:通过 `@EnableAutoConfiguration` 开启自动配置,扫描 `META-INF/spring.factories` 下的配置类,省去手动编写配置文件。使用 `@ConditionalXXX` 注解判断配置类是否生效,导入对应的 starter 后自动配置生效。通过 `@EnableConfigurationProperties` 加载配置属性,默认值与配置文件中的值结合使用。总结来说,Spring Boot 通过这些机制简化了开发配置流程,提升了开发效率。
61 17
springboot自动配置原理