使用环境cnetos7;Python3.7;Mysql8.0
- 安装Docker
- 配置国内源和使用国内DNS服务器(223.5.5.5阿里的)
- 这里需要提前配置Mysql的权限:
{ 如果用户不存在,需要先创建用户,使用 CREATE USER 语句: CREATE USER 'root'@'172.17.0.2' IDENTIFIED BY 'Abc123!@'; 步骤 2:授予权限 创建用户后,再使用 GRANT 语句授予权限: GRANT ALL PRIVILEGES ON . TO 'root'@'172.17.0.2'; 步骤 3:刷新权限 最后,刷新权限使更改生效: FLUSH PRIVILEGES; }
配置原因: 【 可能会出现类似错误 django.db.utils.OperationalError: (1130, "172.17.0.2' is not allowed to connect to this MySQL server") 表明 Django 应用所在的容器(IP 为 172.17.0.2)无法连接到 MySQL 服务器,原因是 MySQL 服务器不允许该 IP 地址的客户端进行连接。 】
4.个人项目是Django需要在settings.py中添加【‘ALLOWED_HOSTS = ['192.168.233.128']’】
并且还要修改MySQL的HOST:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'Your_name', 'USER':'root', 'PASSWORD':'Your_Password', 'HOST':'192.168.233.128', 'PORT':'3306', } }
5.在已有的项目根目录下,创建Dockerfile文件(也可以为别的,但是在运行命令时得指定“-f your_filename”) 6.使用命令【‘docker build -t my_django_app ’】构建 Docker 镜像
{ • -t 参数用于给镜像指定一个标签,这里的 my_django_app 是镜像的名称,你可以根据实际情况修改。 • . 表示使用当前目录下的 Dockerfile 进行构建。 }
7.运行镜像【‘docker run -d --name my_django_container -p 8000:8000 my_django_app’】
8.在浏览器上打开IP(成功!)
9. 第二天启动,需要重启容器,可能会进不去网址
【docker restart my_django_container】
本文由博客一文多发平台 OpenWrite 发布!
7.运行镜像【‘docker run -d --name my_django_container -p 8000:8000 my_django_app’】