环境统一安装

先修改django中settings的【DATABASES={}】
1. 创建网络:
docker network create django_app_net
2. 启动 mairadb数据容器:
docker run --name db -v mysql_db:/var/lib/mysql --restart=always -e MYSQL_ROOT_PASSWORD=pythonvip -e MYSQL_DATABASE=dev05_dj --network django_app_net mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
3. 用客户端连接mysql服务
docker run -it --network django_app_net --rm mariadb mysql -hdb -uroot -ppythonvip -A dev05_dj
3.1 Django中requirements.txt中添加【mysqlclient==2.0.1】;Django的wettings中【 DEBUG = False】和settings的【DATABASES={}】要与Maria(步骤2)保持一致
4. 1 1)修改前端代码(修改host:host需使用Django容器的地址):api.js中的host=''; 2)修改之后需重新构建【npm run build】; 3)构建完成,将dist复制进nginx_docker文件夹中;4)django的rest_framework静态文件复制进dist下的static文件夹;5)Django的代码放入diango_app_docker文件夹;6)nginx_docker和diango_app_docker最后都放DeployDjango文件夹;7)将Django中的.git .dia b) DeployDjango\diango_app_docker\dev05\apps\configures\migrations中迁移脚本0001_initial.py等删除(dev05\apps的所有迁移脚本0001_initial.py等挨个删除)c)删除dev05下的所有python缓存文件“__pycache__” d)删除suites和reports内的所有文件】
4.2 1)修改host:host需使用Django容器的地址):api.js中的host=''; 2)修改之后需重新构建【npm run build】3)将dist从新放入nginx_docker文件夹中;
2)修改default.conf文件中 【sever:后端接口api的域名】和【server_name:前端域名】,修改后保存。
5.将DeployDjango文件夹拖入服务器(用xshell):1)将nginx.conf:nginx主配置,将user改成nginx;2)default.conf:默认配置,监听80端口提供前端静态文件服务,8000提供后端反向代理服务,index.html是前端入口页面,其他页面均由js渲染。;3)Nginx容器中dockerfile的CMD ["supervisord"]命令,容器启动后执行此命令,启动supervisord监听程序,监听ningx(supervisord.conf若Nginx服务挂掉会自动重启:command=/usr/sbin/nginx)。
6. 1)进入前端目录,构建前端项目镜像;2)# 进入后端目录,构建 django_app:v5 镜像
7. 将三个容器加入同一个网络,才可用容器名互访(--network django_app_net)
8. 启动后端容器;可用docker logs django_app查看日志,显示数据记录成功说明Django容器构建成功且已经连上MySQL容器,也可docker exec -it 进入到正在运行的容器查看有无问题

9.启动nginx容器
10 .部署失败删除容器和镜像、volume数据,重新创建
注意:1)修改host:host需使用Django容器的地址):api.js中的host=''; 2)修改之后需重新构建【npm run build】3)将dist从新放入nginx_docker文件夹中;
2)修改default.conf文件中 【sever:后端接口api的域名】和【server_name:前端域名】,修改后保存。
lem—80cla--1hour(路径)

浙公网安备 33010602011771号