Docker容器使用MySQL容器部署Django项目

对读者的要求
有在服务器或者Linux系统下部署,备案上线项目的经验
熟练掌握Django环境配置,包安装,部署环境搭建比如编译安装python,MySQL,Redis;
了解Linux常用命令,判断端口占用,目录创建,工作路径切换,文件系统结构及用途
了解Docker端口映射,IP地址以及持久化原理;
整体思路
原计划在CentOS7.9.2009内安装MySQL等其他组件完成部署,但由于Docker生成的CentOS容器缺少sytemctl命令以及service命令,导致MySQL安装后启动以及初始化失败,但以特权方式运行担心权限过高,因此考虑在容器内部使用外部的MySQL容器
基本步骤:
CentOS容器的配置:C7系统以及python换源加快速度;
CentOS容器内部安装常用命令,编译python3.9.6环境,安装Django包以及连接MySQL的包;
不安装MySQL的情况下,修改Django backend后端数据库依赖,先行测试服务是否能够正常启动;
更换MySQL连接方式,在settings文件中配置MySQL数据库,注意端口号以及IP地址【MySQL容器以及内部端口地址】;
新建项目bbs,在带有 manage.py目录下启动服务;
注意事项
SQLite3版本依赖问题可以修改Django后端的数据库配置,用pysqlite3解决【用于简单测试服务是否正常】;
即使调用容器MySQL也会检查容器内部的MySQL安装情况,因此还需要修改MySQL连接支持的库
对于C7容器内部的MySQL,推荐安装官方包解压后的所有文件,并且根据mysqlclient的介绍安装依赖文件
需要准备的数据
容器本身:容器进入与退出,查看容器IP地址
Django相关:服务启动;项目路径;settings.py文件配置
分别对C7容器以及MySQL容器持久化,包括端口映射和目录挂载
常用命令:
配置信息
settings.py中MySQLite3数据库的配置
settings.py中MySQL数据库的配置
思维导图及链接
