Docker容器部署个人项目
使用环境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(成功!)

- 第二天启动,需要重启容器,可能会进不去网址
【docker restart my_django_container】

浙公网安备 33010602011771号