24黑马SpringCloud的Docker本地目录挂载出现相关问题解决

目录

一、前言

二、删除之前的mysql容器重新创建但是由于版本问题出错

三、最终选择清空旧数据才出现hmall


一、前言

在学习24黑马SpringCloud之前,在24黑马JavaWeb+AI那里我是有接触过一点Docker的。当时在JavaWeb那里老师给的资源比较齐全,基本都是导入就不用再动了,然后懵懵懂懂的学到SpringCloud就发现会出现一些问题,本博客单纯记录一下我在本地目录挂载出现的一些问题以及解决办法

二、删除之前的mysql容器重新创建但是由于版本问题出错

这里补充一下:之前JavaWeb的mysql是8版本的,然后在SpringCloud学习时抱着多敲多试的心态,我把之前mysql8版本的容器删除了,然后pull了最新的mysql镜像(版本是9开头的),然后创建的也是9版本的mysql容器

首先这里我是把之前创建的9版本的mysql容器给删除掉了

下图就是问题出现的地方,我新创建容器加上了本地目录挂载的相关语句(这里3307是我自己改的,感觉3306不是很合适,和老师不一样)。然后创建也有容器id,但是下面docker ps语句不知道为啥就是查不到这个mysql

拷打ai说是docker ps查不到退出的容器,通过docker ps -a可以查看所有容器包括退出的。一查发现mysql容器是存在的,只不过退出了。再按照ai给出的步骤通过docker logs mysql分析一下mysql一创建就退出的原因,结果发现日志里确实出现了三个ERROR的日志

将错误日志复制给ai看,发现错误原因是MySQL版本升级兼容性问题,因为之前javaweb的是8版本开头的,现在最新是9版本开头的

我一开始选择方案一删除容器再创建新容器加上了8.0.27,结果发现data里就是不出现hmall

三、最终选择清空旧数据才出现hmall

最终没办法,我又把8.0.27的mysql容器删除了,然后执行rm -rf /root/mysql/data/*把data目录下的数据全部删了(学到微服务javaweb那里删了就算了,也是入门的知识了)

此时data就是空的,然后conf和init就只有课程资源给的,conf一个,init一个。重新创建容器(直接用最新版就行了),然后刷新发现hmall就出现了

同时datagrip连接上docker的mysql也是可以看到数据库的

相关推荐
guo_wen_qiang7 小时前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
Sayai9 小时前
Elasticsearch 9 安装验证实战:start-local 一键部署 + Docker 手动安装踩坑指南
大数据·elasticsearch·docker
名字还没想好☜14 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
码--到成功15 小时前
Docker、Kubernetes安装系列 二
docker·容器·kubernetes
M--Y16 小时前
Docker镜像与仓库管理详解
docker·容器
starzy199017 小时前
虚拟化解决方案全景:软件虚拟化、硬件虚拟化与 Docker 的位置
运维·docker·容器
名字还没想好☜1 天前
Docker buildx 多架构镜像实战:一次构建 amd64+arm64,告别 exec format error
运维·docker·eureka·架构·kubernetes
墨着染霜华1 天前
SpringCloud Gateway线上Nginx代理后自定义下划线请求头丢失(app_name/app_version获取不到)完美解决
nginx·spring cloud·gateway
gs801401 天前
告别 CI/CD 误伤与红条:Docker 镜像智能清理与优雅防冲突实战
ci/cd·docker·容器
wjcroom1 天前
FileBrowser的docker运行了改变密码长度的做法
运维·docker·容器