当前位置: 首页 > news >正文

Docker 本地开发环境搭建(MySQL5.7 + Redis7 + Nginx + 达梦8)- Windows11 版 2.0

拉取mysql
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7.44
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7.44 docker.io/mysql:5.7.44
拉取redis
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:7.2-alpine
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redis:7.2-alpine docker.io/redis:7.2-alpine
拉取nginx
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.26.1-alpine
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.26.1-alpine docker.io/nginx:1.26.1-alpine

Docker 本地开发环境搭建(MySQL5.7 + Redis7 + Nginx + 达梦8)- Windows11 版

📦 一、环境说明

适用于 Windows 11 的本地开发环境,一键搭建以下组件:

  • ✅ MySQL 5.7.44
  • ✅ Redis 7.2(带密码、持久化)
  • ✅ Nginx 1.26.1(静态页面+代理支持)
  • ✅ 达梦数据库 DM8(自动建库、建用户)

🧰 二、环境准备

1. 安装 Docker Desktop for Windows

前往官网下载并安装:

👉 https://www.docker.com/products/docker-desktop/

⚠️ 安装时务必启用:

  • WSL2(推荐)或 Hyper-V
  • Virtual Machine Platform(如未启用,可在 PowerShell 中执行):
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

并重启系统。


2. 创建目录结构

在你喜欢的路径下创建一个项目文件夹(如:D:\docker-dev-env

docker-dev-env/
├── app/                  ← 放静态前端页面
├── mysql/
│   ├── data/
│   └── conf.d/
├── redis/
│   └── data/
├── nginx/
│   └── conf.d/
├── dm8/
│   ├── data/
│   └── init/
│       └── init.sql      ← 达梦初始化脚本
├── docker-compose.yml
├── start.bat             ← 一键启动脚本
└── stop.bat              ← 一键关闭脚本

⚙️ 三、Docker Compose 配置

文件:docker-compose.yml

version: '3.8'
services:mysql:image: mysql:5.7.44container_name: mysqlrestart: alwaysports:- "3306:3306"environment:MYSQL_ROOT_PASSWORD: root123MYSQL_DATABASE: devdbvolumes:- ./mysql/data:/var/lib/mysql- ./mysql/conf.d:/etc/mysql/conf.dnetworks:- dev-netredis:image: redis:7.2-alpinecontainer_name: redisrestart: alwaysports:- "6379:6379"command: redis-server --requirepass yourpasswordvolumes:- ./redis/data:/datanetworks:- dev-netnginx:image: nginx:1.26.1-alpinecontainer_name: nginxrestart: alwaysports:- "80:80"- "443:443"volumes:- ./nginx/conf.d:/etc/nginx/conf.d- ./app:/usr/share/nginx/htmldepends_on:- mysql- redisnetworks:- dev-netdameng:image: xuxuclassmate/dameng:v8.1container_name: dameng8restart: alwaysports:- "5236:5236"environment:PAGE_SIZE: 16SYSDBA_PWD: SYSDBA123456  # 可自定义volumes:- ./dm8/data:/opt/dmdbms/data- ./dm8/init:/docker-entrypoint-initdb.dnetworks:- dm-netnetworks:dev-net:driver: bridge

🧾 四、达梦数据库初始化 SQL

文件路径:dm8/init/init.sql

-- 自动初始化达梦数据库(首次启动执行一次)
create tablespace TESTDATA datafile 'TESTDATA01.DBF' size 200;
create user test identified by test123 default tablespace TESTDATA;
grant dba to test;

执行后你可以使用如下命令连接该用户:

docker exec -it dm8 bash -c "disql test/test123"

🖥️ 五、启动和关闭脚本(适用于 Win11)

start.bat

@echo off
echo 启动本地开发环境...
docker-compose up -d
pause

stop.bat

@echo off
echo 停止本地开发环境...
docker-compose down
pause

将以上内容分别保存为 start.batstop.bat,双击即可一键启动或关闭所有容器。


🧪 六、测试连接

1. MySQL 测试

docker exec -it mysql mysql -uroot -proot123 -e "SHOW DATABASES;"

2. Redis 测试

docker exec -it redis redis-cli -a yourpassword ping

3. 达梦测试

docker exec -it dm8 bash -c "disql test/test123"

📌 七、小贴士

  • 所有服务数据均已挂载本地,重启容器不会丢数据
  • 你可以在 app 目录下放置前端静态资源,即可通过 http://localhost 访问
  • 达梦初始化 SQL 只在首次运行容器时执行一次
  • 推荐将 .env 配置引入密码、数据库名等参数,以增强可维护性

✅ 现在你已经拥有了一个可以“一键启动 + 自动初始化”的本地开发环境,适合快速开发、联调和集成测试!

🚀 欢迎扩展:Kafka、MinIO、Elasticsearch、MongoDB 等服务,只需在 docker-compose.yml 中添加即可。


---需要我将 `.yml` 和 `init.sql` 也以纯文本形式贴出来吗?或者要打成一个 GitHub 模板也可以。你怎么方便我就怎么来。

文章转载自:

http://wvnqqb9H.dfztx.cn
http://27N5fwkP.dfztx.cn
http://fcIM4dnV.dfztx.cn
http://9AElP8N9.dfztx.cn
http://SjhEw0uY.dfztx.cn
http://DmbVxB7g.dfztx.cn
http://o6r0s8GI.dfztx.cn
http://jbhTHb0R.dfztx.cn
http://cPaQ37vE.dfztx.cn
http://Vd7HgFbM.dfztx.cn
http://zA54sgpl.dfztx.cn
http://ntRURtuX.dfztx.cn
http://9DStocYz.dfztx.cn
http://2NEZL9uF.dfztx.cn
http://gtySZyWL.dfztx.cn
http://Wxkf9g29.dfztx.cn
http://c0hiyi7E.dfztx.cn
http://c5HhlXl9.dfztx.cn
http://73daJgWy.dfztx.cn
http://Y5oaw6BE.dfztx.cn
http://CnwjVXY5.dfztx.cn
http://TezYlZoA.dfztx.cn
http://wEEyV5IA.dfztx.cn
http://A8pE4W8n.dfztx.cn
http://FmSpYtXY.dfztx.cn
http://CZk1sKKa.dfztx.cn
http://lrXmoqWR.dfztx.cn
http://Bv4wMPb4.dfztx.cn
http://9GRzyIRW.dfztx.cn
http://VBhcPChW.dfztx.cn
http://www.dtcms.com/a/370330.html

相关文章:

  • phpMyAdmin文件包含漏洞复现:原理详解+环境搭建+渗透实战(windows CVE-2014-8959)
  • MathJax - LaTeX:WordPress 公式精准呈现方案
  • 深入剖析Spring Boot自动配置原理
  • 用Android studio运行海外极光推送engagelab安卓的SDK打apk安装包
  • 记录一下k佬 lvgl micropython的sdcard初始化问题
  • Nmap使用手册
  • HTB devvortex
  • FakeYou:语音克隆/个性化语音生成工具
  • 木棉EZ100-Pro 15.5G矿机参数解析:Etchash算法与高效能耗
  • OpenAI新论文:Why Language Models Hallucinate
  • Compose笔记(四十九)--SwipeToDismiss
  • Coze源码分析-资源库-删除插件-前端源码-核心组件实现
  • 主流的开源协议(MIT,Apache,GPL v2/v3)
  • 计算机原理(二)
  • 算法题(200):最大子段和(动态规划)
  • vue3图标终极方案【npm包推荐】vue3-icon-sui(含源码详解)
  • 当小智 AI 遇上数字人,我用 WebRTC 打造实时音视频应用
  • 后端(JDBC)学习笔记(CLASS 1):基础篇(一)
  • 3分钟快速入门WebSocket
  • ElasticSearch 基础内容深度解析
  • 行为式验证码技术解析:滑块拼图、语序选词与智能无感知
  • CAN总线学习
  • 02.继承MonoBehaviour的单例模式基类
  • 【CSS,DaisyUI】自定义选取内容的颜色主题
  • C. 引入位置编码是不是3D的
  • Docker学习笔记-网络类型
  • 进程状态深度解析:从操作系统原理到Linux实践
  • C++:深入剖析vector及其模拟实现
  • ClickHouse 中的物化列与物化视图
  • 贪心算法应用:交易费优化问题详解