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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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

目录
相关文章
|
20天前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
140 68
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
17天前
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
167 13
Spring Cloud Alibaba:一站式微服务解决方案
|
3天前
|
Java 关系型数据库 Nacos
微服务SpringCloud链路追踪之Micrometer+Zipkin
SpringCloud+Openfeign远程调用,并用Mircrometer+Zipkin进行链路追踪
52 20
|
22天前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
20天前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
33 1
|
22天前
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
40 1
|
23天前
|
负载均衡 监控 API
后端开发中的微服务架构实践与挑战
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势和面临的挑战,并通过案例分析提出了相应的解决策略。微服务架构以其高度的可扩展性和灵活性,成为现代软件开发的重要趋势。然而,它同时也带来了服务间通信、数据一致性等问题。通过实际案例的剖析,本文旨在为开发者提供有效的微服务实施指导,以优化系统性能和用户体验。
|
6天前
|
存储 监控 供应链
微服务拆分的 “坑”:实战复盘与避坑指南
本文回顾了从2~3人初创团队到百人技术团队的成长历程,重点讨论了从传统JSP到前后端分离+SpringCloud微服务架构的演变。通过实际案例,总结了微服务拆分过程中常见的两个问题:服务拆分边界不清晰和拆分粒度过细,并提出了优化方案,将11个微服务优化为6个,提高了系统的可维护性和扩展性。
22 0
|
1月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
129 6
|
1月前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
51 1