windows Docker Desktop 搭建mysql,mssql和redis服务
其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下
1.首先是pull image , docker pull mysql
2.启动服务 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ncs123456# -d mysql
可是这样确实启动起来了,但是用客服端工具连接报2058错误,
3.进入到mysql换进中 docker exec -it mysql mysql -uroot -pncs123456#
4修改密码 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
记住一定要修改密码(我的意思这里的密码必须和先前的密码要不一样), 不修改好像不行的,因为我执行过以下指令是没有解决问题
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
FLUSH PRIVILEGES;
alter user 'root'@'localhost' identified by 'ncs123456#';
所以必须修改密码
5,一般我们都需要配置mysql的路径, 换种说法就是让mysql的配置和数据库文件保存到物理机上,需要创建映射(需要先删除先前的容器)docker run --name mysql -v D:/Docker/mysql/conf:/etc/mysql/conf.d -v d:/Docker/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
物理文件结构如下:
注意:先不要在你的配置文件D:/Docker/mysql/conf中添加任何内容,测试容器能否正常运行。如果可以,再往配置文件中添加配置,这样可以方便排除错误;因为旧版的mysql配置不一定适用于新版的mysql。下面的错误的源头就是配置文件的问题(我也一直没有想到是它的问题)
参考 https://www.jianshu.com/p/d297b0be4157
-----------------------------------------------------------------------------
mssql 很简单了:
1.拉取镜像 docker pull microsoft/mssql-server-linux
2.启动服务 docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=ncs123456#' -p 1433:1433 --name mssql -v /d/docker/mssql/data:/var/opt/mssql/data -d microsoft/mssql-server-linux
----------------------------------------------------------------------------
Redis的搭建就比较简单了,
1.拉取镜像 docker pull redis
2.准备物理文件 D:\Docker\redis\redis.conf 然后启动redis,docker run -v /d/docker/redis/redis.conf:/usr/local/ect/redis/redis.conf --name redis -p 6379:6379 -d redis
3.进入redis cli操作练习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构