部署django项目

一、准备工作

1.镜像拉取

# 查看自己的镜像
docker images
# 拉取项目需要的镜像
docker pull python:3.6
docker pull mysql:5.7

2.查看网络

docker network ls # 查看自己的docker网络

二、测试网络

1.启动mysql

docker run --name mysql --privileged=true -p 3307:3306  -v /data/mysql/datadir:/var/lib/mysql -v /data/mysql/conf.d:/etc/mysql/conf.d -e  MYSQL_ROOT_PASSWORD=123456 -d --network blog  mysql:5.7
 
  --name:指定容器名
 
--p:映射宿主主机端口  因为本机有了一个3306端口 所以我改成了3307
 
-v:挂载宿主目录到容器目录
 
-e:设置环境变量,此处指定root密码
 
-d:后台运行容器
 
--privileged=true 防止挂载数据卷出现权限问题
 
--network 指定网络名称空间

2.进入mysql创建blog01数据库

docker exec -it mysql102 bash  # 进入容器执行bash
mysql -uroot -p********  # 登录
mysql> create database blog01 default charset utf8;  #创建blog01数据库
---------------------------
Query OK, 1 row affected (0.00 sec)

3.启动python

docker run -dit --network host --name python python:3.6 /bin/bash
# 这里我没有指定映射端口,最后加

注:部署的时候出现连接不上数据库情况

其中blog是我新创建的,可以ping百度,但是ping数据库就没有反应

解决方法:最后用host网络

4.查看启动的容器并测试网络

docker inspect [容器的名字]可以查看容器ip地址

        测试ping数据库是否可以连接

5.进入python2容器

docker exec -it python2 /bin/bash

(1)把文件拷贝到容器上

docker cp /root/django_blog python2:home/blog

  docker cp [宿主机文件目录] [容器名]:[容器内文件目录]

(2)安装项目所需的模块

[root@iZbp1j2liju58h1ni09d2wZ ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
946f5b21fe91        python:3.6          "/bin/bash"              15 hours ago        Up 15 hours                                             python2
880adbf44d1d        centos:7.9.2009     "/bin/bash"              5 months ago        Up 5 months         0.0.0.0:8000->8000/tcp              centos02
e9b70c837b93        mysql:5.7.32        "docker-entrypoint.s…"   5 months ago        Up 5 months         0.0.0.0:3306->3306/tcp, 33060/tcp   mysql102
[root@iZbp1j2liju58h1ni09d2wZ ~]# docker exec -it python2 /bin/bash
root@iZbp1j2liju58h1ni09d2wZ:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
root@iZbp1j2liju58h1ni09d2wZ:/# cd home/blog
root@iZbp1j2liju58h1ni09d2wZ:/home/blog# ls
1.txt        README.md  manage.py  pip           static
Django_Blog  blog   media      requirements.txt  templates
root@iZbp1j2liju58h1ni09d2wZ:/home/blog# pip install -r requirements.txt -i https://pypi.doubanio.com/simple  # 安装项目依赖库

(3)安装docker内部组件vim

在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:未找到指令
# 我们需要
apt-get update
 
#这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。

(4)迁移数据库

注:在blog目录内敲命令

python manage.py makemigrations
python manage.py migrate

(5)放在80端口跑一下

python manage.py runserver 0.0.0.0:80
要在phpstudy上部署Django项目,需要遵循以下步骤: 1. 安装PythonDjango:在phpstudy的“软件管理”中安装PythonDjango,或者手动下载并安装它们。 2. 创建Django项目:使用Django的命令行工具创建一个新的Django项目。 3. 配置Django项目:在Django项目中设置数据库、静态文件路径和其他配置。 4. 启动Django开发服务器:在Django项目的根目录中运行Django的开发服务器,以便在本地测试应用程序。 5. 配置phpstudy:在phpstudy中创建一个新的虚拟主机,并将其指向Django项目的根目录。 6. 启动phpstudy:启动phpstudy,并在浏览器中访问新的虚拟主机地址,以查看Django应用程序。 注意事项: 1. phpstudy默认使用Apache服务器,而Django使用的是Python内置的服务器。因此,在部署Django项目时,需要在phpstudy中创建一个新的虚拟主机,并将其指向Django项目的根目录,以便在phpstudy中访问Django应用程序。 2. 在生产环境中,建议使用其他Web服务器,如Nginx或Apache,来部署Django项目。在这种情况下,需要将服务器配置文件中的请求转发到Django应用程序。 3. 在部署Django项目时,需要注意安全性和性能方面的问题,如防止SQL注入、保护敏感数据等。可以使用Django的安全设置和中间件来增强应用程序的安全性。同时,可以使用缓存、异步任务等技术来提高应用程序的性能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值