黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day2 全网最快最全(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day2 全网最快最全(上)

2024最新SpringCloud微服务开发与实战,java黑马商城项目微服务实战开发(涵盖MybatisPlus、Docker、MQ、ES、Redis高级等)

Day 2

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客

这是我的 github https://github.com/Qiuner ⭐️

gitee https://gitee.com/Qiuner 🌹

如果本篇文章帮到了你 不妨点个吧~ 我会很高兴的 😄 (^ ~ ^)

想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎

因为centOS7在2024年6月停服,因此我选择使用Ubunt来完成安装使用Docker

  • 博主发现自己经过多种方式后都没有成功将乌班图连接上ssh工具,加上最近很忙很忙很忙在加上已学过微服务,于是放弃了使用乌班图,而是用官方的linux。不然肯定狠狠调研下,写一篇博客
  • 有小伙伴想用乌班图来做可以在下面留言,我会看情况再用乌班图过一遍

CentOS 7 版本

容器与镜像

命令解读

docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
mysql

Docker常用命令

  • 容易拥有自己的ip内存什么的 每次使用docker run是再重复创建容器

其余常见命令

  1. 容器生命周期管理
  • docker run: 运行一个新容器。
  • docker start: 启动一个停止的容器。
  • docker stop: 停止一个运行中的容器。
  • docker restart: 重启一个运行中的容器。
  • docker pause: 暂停容器中的所有进程。
  • docker unpause: 恢复暂停的容器中的所有进程。
  • docker kill: 强制停止一个运行中的容器。
  • docker rm: 删除一个或多个容器。
  • docker ps: 列出正在运行的容器。
  • docker ps -a: 列出所有容器,包括停止的容器。
  1. 镜像管理
  • docker images: 列出本地的镜像。
  • docker pull: 从仓库中拉取一个镜像。
  • docker build: 根据 Dockerfile 构建一个镜像。
  • docker tag: 给镜像打标签。
  • docker rmi: 删除一个或多个镜像。
  1. 容器操作
  • docker exec: 在运行中的容器中执行命令。
  • docker attach: 进入一个正在运行的容器。
  • docker cp: 在容器和本地文件系统之间复制文件或目录。
  • docker inspect: 显示容器的详细信息。
  1. 网络
  • docker network ls: 列出 Docker 网络。
  • docker network create: 创建一个 Docker 网络。
  • docker network connect: 将容器连接到网络。
  • docker network disconnect: 将容器从网络断开连接。
  1. 数据卷
  • docker volume ls: 列出 Docker 数据卷。
  • docker volume create: 创建一个 Docker 数据卷。
  • docker volume rm: 删除一个或多个 Docker 数据卷。
  1. Docker Compose(用于定义和运行多容器的应用):
  • docker-compose up: 构建并启动应用的所有服务。
  • docker-compose down: 停止并移除应用的所有服务。
  • docker-compose build: 重新构建服务。
  • docker-compose logs: 查看服务的日志。

Docker小案例

docker pull nginx
  • 这里介绍了开发很重要的东西 找文档。
  • 前后端开发太庞大了,需要有不懂就查的能力 也不知道面试面那些有啥用🤧 招的是能解决问题的人 而不是八股

  • 这一步代码只是创建了容器,还需要运行

Docker基础命令实践

起别名

vi ~/.bashrc
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
  • docker ps 列出当前运行的 Docker 容器。
  • --format 选项用于自定义输出格式。
  • table 指定输出应为表格格式。
  • {{.ID}}{{.Image}}{{.Ports}}{{.Status}}{{.Names}} 是 Docker 容器的各个属性。
alias dis='docker images'
  • 然后点击ESC键 输入 :wq 来退出
  • 再输入 source ~/.bashrc

  • 如此 成功修改命令别名

数据卷挂载

cd /usr/share/nginx/html
/usr/share/nginx/html# ll
• 1
• 2
  • 因为容器为了精简,只保存最小化运行的内容,没有vi 因此不能通过vi来编辑index.html

  • 就相当于Vue中的双向绑定一样,在绑定的一边修改也会影响到另一边
  • 创建Nginx文件的时候,会在docker中也创建一个目录来存放这个容器的相应内容

  • 使用 docker volume --help

先移除已有的,因为只能在创建这个容器时实现数据数据绑定
docker rm -f nginx
再次创建,这样创建能够实现将数据绑定
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

docker volume ls 
docker volume inspect html
cd /var/lib/docker/volumes/html/_data

为什么你能在主浏览器访问虚拟机配置的Nginx?

  • 原因是虚拟机与主机处于同一网络中,并且 Docker 容器的端口映射允许虚拟机的特定端口流量被转发到容器内的 Nginx 服务。确保虚拟机的 IP 地址和 Docker 端口映射配置正确,这样就可以成功访问容器内的服务。

使用MobaXterm来进行编辑

  • 就可以在这里直接修改
  • 也可以将外部资源直接拖进来

本地目录挂载

docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/init:/docker-entrypoint-initdb.d \
-v /root/mysql/conf:/etc/mysql/conf.d \
mysql
  • 在执行这段命令之前需要先进行创建文件夹
  • 使用cd ~ 切换目录 然后使用mkdir 创建目录

制作自定义镜像

  • 镜像和容器的关系就是类和实例

  • JRE,全称 Java Runtime Environment(Java 运行时环境),是用于运行 Java 应用程序的一个软件平台。它包含了 Java 虚拟机(JVM)、Java 类库和其他必要的组件,允许用户在其计算机上运行用 Java 编写的程序。JRE 是 Java 开发工具包(JDK)的一个子集,专注于运行 Java 应用程序,而不包括编译和开发工具。

**第一步 ** 准备Linux运行环境 这里因为不知道java运行要哪些东西,因此把乌班图全部拿过来了

第二步 安装JRE

第三步

第四步 编写脚本并启动

大功搞成

镜像在docker中的结构

  • 这样分层的好处是 制作完乌班图所需要依赖镜像后,可以将其上传,然后下次要制作其他时,直接在这个镜像基础上开始制作
  • 而且镜像也会有差不多的地方,因此可以减少所用空间


黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录Day2 全网最快最全(下):https://developer.aliyun.com/article/1548623

目录
相关文章
|
27天前
|
算法 Java 微服务
【SpringCloud(1)】初识微服务架构:创建一个简单的微服务;java与Spring与微服务;初入RestTemplate
微服务架构是What?? 微服务架构是一种架构模式,它提出将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 每个服务允许在其独立的进程中,服务于服务间采用轻量级的通信机制互相协作(通常是Http协议的RESTful API或RPC协议)。 每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建
376 126
|
27天前
|
负载均衡 算法 Java
【SpringCloud(2)】微服务注册中心:Eureka、Zookeeper;CAP分析;服务注册与服务发现;单机/集群部署Eureka;连接注册中心
1. 什么是服务治理? SpringCloud封装了Netfix开发的Eureka模块来实现服务治理 在传统pc的远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册
153 0
|
1月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
1月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
20天前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
2月前
|
监控 安全 Java
Spring Cloud 微服务治理技术详解与实践指南
本文档全面介绍 Spring Cloud 微服务治理框架的核心组件、架构设计和实践应用。作为 Spring 生态系统中构建分布式系统的标准工具箱,Spring Cloud 提供了一套完整的微服务解决方案,涵盖服务发现、配置管理、负载均衡、熔断器等关键功能。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
157 1
|
2月前
|
jenkins Java 持续交付
使用 Jenkins 和 Spring Cloud 自动化微服务部署
随着单体应用逐渐被微服务架构取代,企业对快速发布、可扩展性和高可用性的需求日益增长。Jenkins 作为领先的持续集成与部署工具,结合 Spring Cloud 提供的云原生解决方案,能够有效简化微服务的开发、测试与部署流程。本文介绍了如何通过 Jenkins 实现微服务的自动化构建与部署,并结合 Spring Cloud 的配置管理、服务发现等功能,打造高效、稳定的微服务交付流程。
310 0
使用 Jenkins 和 Spring Cloud 自动化微服务部署
|
12月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
604 6
|
12月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
277 1
|
11月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
871 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型

热门文章

最新文章