docker搭建django+mysql
1.本机项目迁移到linux系统中
2.编写dockerfile内容如下
WOEKDIR 在容器中创建该目录
COPY 复制本机当前目录下的requirements.txt文件 到容器drfproject目录中
COPY . ./ 复制本机当前目录下的所有文件 到容器当前目录中
3.编写docker-compose.yml文件 集成django以及mysql
这里把mysql目录 也映射到项目目录下了
4.修改django中setting的配置
host 栏 必须填写 docker-compse中services下 定义的服务名称
5.输入命令docker-compose up -d 运行容器
6.进入mysql容器中
docker exec -it db bash
登录mysql mysql -uroot -p
Use mysql;
Select host,user,Create_priv from user;
因为django要初始化数据表,因此要设置允许django链接mysql远程登录 root权限
可以看到% root 没有权限 %的意思就是其他用户远程登录root访问数据库,对应IP地址,执行以下语句 给予权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
7. 进入到django容器中,初始化数据表
docker exec -it django-web-1 /bin/bash
执行python manage.py migrate
8.删除django 容器 重新执行docker-compose up -d 构建新djnago容器
因为docker-compose 构建镜像,执行容器时,db数据库存在后构建的情况下, 导致django 连接不上数据库,所以需要重新构建django 容器
至此django+mysql项目就搭建完成了
mysql数据迁移
进入mysql容器 bash环境
mysqldump -u root -p drf_django > /var/lib/mysql/drf_django.sql;
迁移出数据
然后在新的mysql中 新建一个drf_django数据库
show databases
create database drf_django
退回到mysql bash中 输入以下命令
mysql -u root -p drf_django < /var/lib/mysql/drf_django.sql
常见问题:
首次构建的时候Docker compose 执行报错unable to upgrade to h2c, received 404
构建之前先输入以下命令export DOCKER_BUILDKIT=0,然后再去构建
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)