從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
英文地址,請注明出處:http://en.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;這些結果集可以在后續的…