使用Docker部署Django项目

前言:网上找了许多教程,最后都失败了,自己最后摸索了一段时间终于部署成功了

 

实验:数据库应用项目开发

实验要求

完成一个基于web的应用,后端访问了关系数据库(MySQl、Oracle、PostgreSQL、openGauss);

............................(此处省略项目的各种信息)

7、项目的部署

7.1硬件环境:

  1. 虚拟机:VMware Workstation Pro

  2. 操作系统:CenterOS 7.6

7.2软件环境:

Docker 24.0.7、Django 2.2、mysql:latest

7.3部署的步骤

1)安装docker

2)拉取mysql镜像

3Django项目容器的构建

(a) 项目的目录结构:

(b) 编写requirements.txt

requirements.txt中包含了这个项目所需要用到的包

在pycharm中使用pipreqs自动生成requirements.txt

(c) 编写Dockerfile

Dockerfile中对系统环境,镜像目录等进行设置,通过Dockerfile去执行设置好的操作命令,保证通过Dockerfile的构建镜像是一致的。

(d) 编写docker-compose.yml文件

Compose 是一个用于定义和运行多容器 Docker 的工具。借助 Compose,可以使用 YAML 文件来配置应用程序的服务。

先安装docker-compose

docker-compose.yml文件的具体内容:

(e) 注意在setting.py中的设置要与docker-compose.yml文件一样,尤其是HOST部分不能写127.0.0.1,否则会报错无法连接上数据库。

(f) 创建镜像,然后再启动服务。

也可以创建完镜像容器再分别启动

(g)进行数据库的迁移(最关键的一步)

使用命令docker exec -it databaseteemwork_db_1 bash进入数据库容器,登录账号后创建名为ustb2021的数据库

然后进入django容器中docker exec -it databaseteemwork_dj_web_1 bash

执行python manage.py makemigrations和python manage.py migrate将数据迁移过去

再进入mysql容器中执行sql语句创建数据信息,由于篇幅只展示部分

最后验证一下:

7.4 测试

最后在主机上使用虚拟机的ip加端口号访问该项目,如果要部署到服务器也是同样的步骤。

登录http://192.168.37.138:8090/logreg/login/可以看到成功访问到了该项目,且数据库里的内容能够正确的访问到。

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值