docker笔记(3)----Django项目的docker部署
django容器连接到mysql_server容器
分析:
原myblog项目使用sqlit3数据库,使用mysql容器前需要在django中加入pymysql组件用于连接mysql.
思路:
先使用docker network命令建立docker网络,再建立MySQL容器并创建合适数据库和表。最后封装并建立Django容器。测试。
建立内部网络:
Dockernetwork create ziwen
建立mysql容器:
docker run --name mymysql -v$PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -eMYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
接入内部网络ziwen:
Docker networker connect ziwenimage_id
查看网络:
Docker networker
inspect ziwen
封装连接Django容器:
封装前对django文件的更改:
[if !supportLists]1. [endif]requirements.txt 中加入pymysql =0.8.0
[if !supportLists]2. [endif]Run_web.sh文件中更改为如下:
python manage.pymakemigrations
python manage.pymigrate
python manage.pyrunserver 0.0.0.0:8000
[if !supportLists]3. [endif]settings.py文件中的ALLOWED_HOSTS绑定服务器,DATABASES中更改数据库为mysql,填写mysql容器的ip(即名称mymysql)
[if !supportLists]4. [endif]django主路径下的 _init_.py文件写如下内容:
封装操作:
Dockerbuild -t django-docker:v4.0 . (注意最后的标点,代表当前路径)
启动:
Docker run -d -p 32020:8000 --network=ziwen django-docker:v4.0