从Docker衔接到导入黑马商城以及前端登录显示用户或密码错误的相关总结(个人理解,仅供参考)

目录

一、前言

二、从Docker衔接到导入黑马点评

三、谈谈端口映射及我的前端登录显示用户或密码错误

四、总结


一、前言

在学习24黑马SpringCloud课程时,说实话Docker那一块再到导入黑马商城是真的有点折磨,个人感觉老师水平还是很强的,但是在有的部分衔接上是真的有点随意。反正我现在这个时间点学习这个课程,明显感觉到这个Docker前置的课程应该是后续补上去的。然后在Docker衔接到导入黑马商城这一块我遇到了不少的问题,好在我都慢慢自行解决了(也确实在解决问题的过程中对虚拟机和Docker有了更深的理解),本博客主要用于自己梳理总结(如果你是完全跟老师保持一致可能不会想我一样遇到这么多问题)

二、从Docker衔接到导入黑马点评

这里谈谈我个人的梳理理解:在Docker学习部分,我们学习了把本地的idea项目打包上传到docker并build然后创建运行hm容器,还有含hmall数据库的mysql部署以及nginx在docker的部署。这三个的文件只要在虚拟机root目录下不删除文件就不会消失,创建运行停止删除容器都是单纯针对容器进行操作的,所以如果发现某个容器创建时的语句配置不对或者和视频不一致,大胆的去删除容器重新创建即可。前面的一个个部署的学习主要是为了熟悉docker,后面使用docker compose可以实现一键部署,在Docker视频的最后docker compose down就删除了这三个容器

回想在学习Docker的时候,hm、mysql、nginx三个容器创建并运行,所以访问前端是192.168.100.128:18080(前面是自己的虚拟机ip地址)。而现在衔接到导入黑马商城是运行idea项目,nginx是自己放到非中文目录的本地磁盘下,但是mysql由于idea里面yaml的配置使用的还是docker里面的mysql。所以由于前面docker compose down就删除了这三个容器,现在只需要把mysql在docker上重新创建并运行,这一块衔接建议直接看文档来操作(这里老师又搞个hm-net的通用网络,建议和老师保持一致,然后之前还有一个heima的通用网络建议删除省的搞混,docker network ls可以查看所有网络,docker network rm heima可以删除这个网络)

所以后续老师查看前端的网址就不是虚拟机的ip地址加18080,而是localhost:18080了(启动idea项目,保证docker的mysql容器创建并运行,nginx本地磁盘非中文目录然后启动)

三、谈谈端口映射及我的前端登录显示用户或密码错误

端口映射这一块是属于我个人的理解与总结,大家可以看看,但是我水平一般可能理解也有问题。在创建并运行mysql容器的时候,我从头到尾都没有按照老师给出的3306:3306的端口映射来。而是我一直都按3307:3306的来。因为在学习过程中都有使用图形化界面连接数据库的测试部分,我之前在虚拟机上部署了一个mysql并且在datagrip上连接并把它命名为Linux-MySQL,填写的连接地址是192.168.100.128:3306,并且我之前黑马点评的数据库都是使用这个Linux-MySQL的

如果这里我还是按照老师的3306:3306那我能不能在datagrip上连接到呢,我拷打ai想知道结果(因为按照老师这样来那我Docker-MySQL和Linux-MySQL的连接地址不一模一样了)

下图是ai给出的回答,所以为了避免出现其他问题我就按照自己的想法全程都是把映射改成3307:3306

结果就因为这个端口映射让我在学习过程中饱受折磨,还好我能一个一个处理到遇到的问题(心态差点崩了),说来的好处就是让我加深了对端口映射的理解。

下面是我在Docker部署hm、mysql、nginx时,浏览器访问数据库不显示数据的问题。简单总结来说就是我在打包idea项目时把application.yaml中的url地址改成了3307(原本是3306),我自以为这样是对的,后续发现由于项目容器和mysql容器在同一个docker网络时可以直接通信,无需依赖端口映射,所以上传到虚拟机的jar包里面的application.yaml的url地址就应该保持3306

24SpringCloud黑马商城部署Java应用后浏览器访问数据库不显示数据的解决办法-CSDN博客

结果好玩的事情发生了,这次访问前端页面是启动本地idea项目,本地nginx,docker的mysql,我前端登录会显示用户或密码错误,我尝试半天解决了。问题还是这个端口映射的地方,因为之前在前一个docker网络可以直接通信,但是这里mysql是在docker,而本地idea项目的application.yaml如果url是3306又连不到docker的mysql了(感觉可能会有点绕,主要是记录我自己印象深刻的梳理理解,大家看看就好),我把3306改成3307就解决了(这里补充一嘴我尝试把local的那个yaml文件的后面数字删掉了,不知道这个操作有没有效果)

四、总结

对于老师docker上的mysql端口映射是3306:3306我个人感觉不太合理(我菜,也不知道我个人理解是否正确)

如果你是和我一样改了端口映射的话,就需要注意我下面的总结:

在项目、mysql、nginx全部在docker的同一网络下运行时,能够直接进行通行,不需要依赖端口映射(确保你打包上传的jar包的application.yaml的url地址是3306)

在项目和nginx本地运行、mysql在docker运行时,需要依赖端口映射(把本地idea项目的application.yaml的url改为你映射的端口,我这里是3307)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91941.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

控制建模matlab练习10:滞后补偿器

此练习主要是:关于滞后补偿器。 ①滞后补偿器作用; ②不同滞后补偿器的效果; 一、为什么使用滞后补偿器 滞后补偿器:主要用于改善系统的稳态误差;滞后补偿器设计思路:同时为系统增加一个极点和零点&#xf…

力扣-108.将有序数组转换为二叉搜索树

题目链接 108.将有序数组转换为二叉搜索树 class Solution {public TreeNode Traverse(int[] nums, int begin, int end) {if (end < begin)return null;int mid (begin end) / 2;TreeNode root new TreeNode(nums[mid]);root.left Traverse(nums, begin, mid - 1);ro…

`npm error code CERT_HAS_EXPIRED‘ 问题

问题: npm error code CERT_HAS_EXPIRED npm error errno CERT_HAS_EXPIRED npm error request to https://r2.cnpmjs.org/string_decoder/-/string_decoder-1.3.0.tgz failed, reason: certificate has expired npm error A complete log of this run can be found in: /home…

数据结构---概念、数据与数据之间的关系(逻辑结构、物理结构)、基本功能、数据结构内容、单向链表(概念、对象、应用)

数据结构在数据结构部分&#xff0c;研究数据在内存中如何存储。数据存储的形式有两种&#xff1a;变量和数组&#xff08;数据结构的顺序表&#xff09;。一、什么是数据结构&#xff1f;数据类型被用来组织和存储数据。程序设计 数据结构 算法二、数据与数据之间的关系1、逻…

CMS框架漏洞

一、WordPress姿势一1.下载vulhub靶场cd /vulhub/wordpress/pwnscriptum docker-compose up -d2.我们进入后台&#xff0c;网址拼接/wp-admin/3.我们进入WP的模板写入一句话木马后门并访问其文件即可GetShell4然后我们拼接以下路径/wp-content/themes/twentyfifteen/404.php&am…

控制建模matlab练习07:比例积分控制-③PI控制器的应用

此练习主要是比例积分控制&#xff0c;包括三部分&#xff1a; ①系统建模&#xff1b; ②PI控制器&#xff1b; ③PI控制器的应用&#xff1b; 以下是&#xff0c;第③部分&#xff1a;PI控制器的应用。 一、比例积分控制的应用模型 1、整个系统是如图&#xff0c;这样一个单位…

【MySQL】MySQL 中的数据排序是怎么实现的?

MySQL 数据排序实现机制详解 MySQL 中的数据排序主要通过 ORDER BY 子句实现&#xff0c;其内部实现涉及多个优化技术和算法选择。让我们深入探讨 MySQL 排序的完整实现机制。 一、排序基础&#xff1a;ORDER BY 子句 基本语法&#xff1a; SELECT columns FROM table [WHERE c…

JVM-垃圾回收器与内存分配策略详解

1.如何判断对象已死1.1 对象引用的4种类型&#xff08;强软弱虚&#xff09;1.1.1 强引用特点&#xff1a;最常见的引用类型&#xff0c;只要强引用存在&#xff0c;对象绝不会被回收Object strongObj new Object(); // 强引用注意&#xff1a;集合类型&#xff0c;如果对象不…

新手向:简易Flask/Django个人博客

从零开始搭建个人博客:Flask与Django双版本指南 本文将详细讲解如何使用两种主流Python框架构建功能完整的个人博客系统。我们将从零开始,分别使用轻量级的Flask框架和功能全面的Django框架实现以下核心功能: 用户认证系统: 用户注册/登录/注销功能 密码加密存储 会话管理…

使用 Trea cn 设计 爬虫程序 so esay

使用 Trea cn 设计 爬虫程序 so esay 在现代数据驱动的时代&#xff0c;网络爬虫已成为数据采集的重要工具。传统的爬虫开发往往需要处理复杂的HTTP请求、HTML解析、URL处理等技术细节。而借助 Trea CN 这样的AI辅助开发工具&#xff0c;我们可以更高效地构建功能完善的爬虫程…

MySQL Redo Log

MySQL Redo Log MySQL主从复制&#xff1a;https://blog.csdn.net/a18792721831/article/details/146117935 MySQL Binlog&#xff1a;https://blog.csdn.net/a18792721831/article/details/146606305 MySQL General Log&#xff1a;https://blog.csdn.net/a18792721831/artic…

项目实战1:Rsync + Sersync 实现文件实时同步

项目实战&#xff1a;Rsync Sersync 实现文件实时同步 客户端中数据发生变化&#xff0c;同步到server端&#xff08;备份服务器&#xff09;。 Rsync&#xff1a;负责数据同步&#xff0c;部署在server端。 Sersync&#xff1a;负责监控数据目录变化&#xff0c;并调用rsync进…

Spring Boot 全 YAML 配置 Liquibase 教程

一、项目初始化配置 1.1 创建 Spring Boot 项目 通过 Spring Initializr 生成基础项目&#xff0c;配置如下&#xff1a; ​​Project​​: Maven​​Language​​: Java​​Spring Boot​​: 3.5.3&#xff08;最新稳定版&#xff09;​​Project Metadata​​: Group: com…

STM32-驱动OLED显示屏使用SPI(软件模拟时序)实现

本章概述思维导图&#xff1a;SPI通信协议SPI通信协议介绍SPI通讯&#xff1a;高速的、串行通讯、全双工、同步、总线协议&#xff1b;&#xff08;通过片选信号选中设备&#xff09;&#xff1b;注&#xff1a;SPI通讯通过片选信号选中设备&#xff0c;串口通讯通过端口号选中…

Easy系列PLC相对运动指令实现定长输送(ST源代码)

汇川Easy系列PLC总线伺服转矩控制功能块 Easy系列PLC总线伺服转矩控制功能块(详细PDO配置+完整ST源代码)_pdo中添加目标力矩然后映射到轴中-CSDN博客文章浏览阅读215次。Easy系列PLC如何实现轮廓速度模式PV速度模式Easy系列PLC如何实现轮廓速度模式PV速度控制_汇川easy plc轮廓…

SpringCloud学习第一季-4

目录 16.SpringCloud Alibaba Nacos服务注册和配置中心 SpringCloud Alibaba简介 1. 为什么出现 SpringCloud Alibaba 2. SpringCloud Alibaba带来了什么 2.1 能干什么 2.2 去哪里下载 2.3 怎么玩 3. 学习资料的获取 17.SpringCloud Alibaba Nacos服务注册和配置中心 …

嵌入式开发学习———Linux环境下数据结构学习(五)

折半查找&#xff08;二分查找&#xff09;适用于已排序的数组&#xff0c;通过不断缩小查找范围定位目标值。int binarySearch(int arr[], int size, int target) {int left 0, right size - 1;while (left < right) {int mid left (right - left) / 2;if (arr[mid] t…

(一)React +Ts(vite创建项目/useState/Props/Interface)

文章目录 项目地址 一、React基础 1.1 vite创建 1. 创建项目 2. 安装项目所需环境 1.2 jsx 1. 三元表达式 1.3 基础 1. 创建第一个组件 2. 安装boostrap 3. 插件常用命令 4. map 二、组件 2.1 useState 1. useState 2. 使用 3.更新对象 4. 更新数组(增,删,改) 5. 使用immer…

网关和BFF是如何演化的

BFF&#xff08;Backend For Frontend&#xff09;:对返回的数据结构进行聚合、裁剪、透传等适配逻辑。 适用于API网关之后的数据聚合、裁剪与透传简化客户端逻辑&#xff0c;减少网络开销敏感数据过滤 BFF逻辑层 架构没有最好&#xff0c;要看是否满足当前的业务场景。 业务的…

SQL中的WITH语句(公共表表达式CTE)解释

SQL中的WITH语句&#xff08;公共表表达式CTE&#xff09; WITH语句&#xff0c;也称为公共表表达式&#xff08;Common Table Expression&#xff0c;CTE&#xff09;&#xff0c;是SQL中一种强大的功能&#xff0c;它允许你创建临时结果集&#xff0c;这些结果集可以在后续的…