Docker容器使用MySQL容器部署Django項(xiàng)目

對(duì)讀者的要求
?有在服務(wù)器或者Linux系統(tǒng)下部署,備案上線項(xiàng)目的經(jīng)驗(yàn)
熟練掌握Django環(huán)境配置,包安裝,部署環(huán)境搭建比如編譯安裝python,MySQL,Redis;
了解Linux常用命令,判斷端口占用,目錄創(chuàng)建,工作路徑切換,文件系統(tǒng)結(jié)構(gòu)及用途
了解Docker端口映射,IP地址以及持久化原理;
整體思路
原計(jì)劃在CentOS7.9.2009內(nèi)安裝MySQL等其他組件完成部署,但由于Docker生成的CentOS容器缺少sytemctl命令以及service命令,導(dǎo)致MySQL安裝后啟動(dòng)以及初始化失敗,但以特權(quán)方式運(yùn)行擔(dān)心權(quán)限過高,因此考慮在容器內(nèi)部使用外部的MySQL容器
基本步驟:
CentOS容器的配置:C7系統(tǒng)以及python換源加快速度;
CentOS容器內(nèi)部安裝常用命令,編譯python3.9.6環(huán)境,安裝Django包以及連接MySQL的包;
不安裝MySQL的情況下,修改Django backend后端數(shù)據(jù)庫(kù)依賴,先行測(cè)試服務(wù)是否能夠正常啟動(dòng);
更換MySQL連接方式,在settings文件中配置MySQL數(shù)據(jù)庫(kù),注意端口號(hào)以及IP地址【MySQL容器以及內(nèi)部端口地址】;
新建項(xiàng)目bbs,在帶有 manage.py目錄下啟動(dòng)服務(wù);
注意事項(xiàng)
SQLite3版本依賴問題可以修改Django后端的數(shù)據(jù)庫(kù)配置,用pysqlite3解決【用于簡(jiǎn)單測(cè)試服務(wù)是否正?!?;
即使調(diào)用容器MySQL也會(huì)檢查容器內(nèi)部的MySQL安裝情況,因此還需要修改MySQL連接支持的庫(kù)
對(duì)于C7容器內(nèi)部的MySQL,推薦安裝官方包解壓后的所有文件,并且根據(jù)mysqlclient的介紹安裝依賴文件
需要準(zhǔn)備的數(shù)據(jù)
容器本身:容器進(jìn)入與退出,查看容器IP地址
Django相關(guān):服務(wù)啟動(dòng);項(xiàng)目路徑;settings.py文件配置
分別對(duì)C7容器以及MySQL容器持久化,包括端口映射和目錄掛載
常用命令:
配置信息
settings.py中MySQLite3數(shù)據(jù)庫(kù)的配置
settings.py中MySQL數(shù)據(jù)庫(kù)的配置
思維導(dǎo)圖及鏈接
