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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 黑马程序员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

目录
相关文章
|
1天前
|
设计模式 弹性计算 监控
后端开发中的微服务架构:优势、挑战与实施策略
在现代软件开发中,微服务架构已成为一种流行的设计模式,特别是在后端开发领域。该架构风格通过将应用程序分解为一组小型、松耦合的服务,旨在提升可维护性、可扩展性和敏捷性。本文深入探讨了微服务架构的关键优势,面临的主要挑战,以及成功实施微服务的策略。通过引用业界案例和最新研究,文章提供了对微服务架构综合理解的视角,并讨论了如何在不断变化的技术环境中保持其有效性。
|
1天前
|
消息中间件 负载均衡 Java
最容易学会的springboot gralde spring cloud 多模块微服务项目
最容易学会的springboot gralde spring cloud 多模块微服务项目
|
1天前
|
设计模式 安全 持续交付
探索微服务架构下的后端开发实践
在现代软件开发领域,微服务架构已成为一种流行的设计模式,它通过将应用程序分解为一组小的服务来促进敏捷开发和可扩展性。本文深入探讨了微服务架构的核心概念、技术选型、数据一致性挑战以及安全性考虑,旨在为后端开发人员提供一份全面的微服务开发指南。文章结合最新的研究成果和业界最佳实践,分析了微服务架构的优势和面临的挑战,并提出了相应的解决方案。读者将了解到如何在实际项目中应用微服务原则,以及如何克服实施过程中的技术和组织障碍。
|
2天前
|
存储 设计模式 监控
后端开发中的微服务架构实践与挑战
在数字化时代背景下,微服务架构作为现代软件工程的典范,被广泛应用于后端开发领域。本文将深入探讨微服务架构的核心概念、实施策略及其面临的主要挑战,同时提供一系列针对性的解决方案和最佳实践。通过引用最新的研究成果和行业案例,文章旨在为后端开发者提供一个全面的微服务架构指南,帮助他们在构建和维护复杂系统时做出明智的决策。
8 1
|
2天前
|
监控 Java 开发者
使用Java开发微服务架构的挑战与解决方案
使用Java开发微服务架构的挑战与解决方案
|
2天前
|
消息中间件 监控 API
后端开发中的微服务架构实践与挑战
在现代软件开发中,微服务架构因其灵活性和可扩展性而受到广泛推崇。本文将深入探讨微服务的核心概念、实施步骤以及面临的技术挑战,同时结合最新的研究数据和行业案例,分析微服务在实际应用中的表现和优化策略,为后端开发人员提供一份实用的指南。
6 0
|
2天前
|
负载均衡 Java 开发者
Spring Cloud微服务架构中的配置管理与服务发现
Spring Cloud微服务架构中的配置管理与服务发现
|
1月前
|
人工智能 Java Spring
使用 Spring Cloud Alibaba AI 构建 RAG 应用
本文介绍了RAG(Retrieval Augmented Generation)技术,它结合了检索和生成模型以提供更准确的AI响应。示例中,数据集(包含啤酒信息)被加载到Redis矢量数据库,Spring Cloud Alibaba AI Starter用于构建一个Spring项目,演示如何在接收到用户查询时检索相关文档并生成回答。代码示例展示了数据加载到Redis以及RAG应用的工作流程,用户可以通过Web API接口进行交互。
52346 62
|
14天前
|
监控 Java 应用服务中间件
替代 Hystrix,Spring Cloud Alibaba Sentinel 快速入门
替代 Hystrix,Spring Cloud Alibaba Sentinel 快速入门
|
1月前
|
消息中间件 Java 持续交付
Spring Cloud Alibaba 项目搭建步骤和注意事项
Spring Cloud Alibaba 项目搭建步骤和注意事项
222 0
Spring Cloud Alibaba 项目搭建步骤和注意事项