自学内容网 自学内容网

Django项目部署到Docker

vi## Django项目部署到Docker详细流程
自己在学习项目部署过程中的经验,分享给大家。

一、安装Docker

1、在Centos的opt目录下

#yum install docker
2、启动docker服务,让它随系统启动自动加载
#systemctl start docker.service
#systemctl enable docker.service

二、书写Dockerfile文件

注意:先把写好的项目上传到linux,然后在根目录里面创建一下文件叫Dockerfile,Dockerfile里面内容按下面格式改写:

FROM python:3.9
### 镜像作者
MAINTAINER dyg
 
### 设置 python 环境变量
ENV PYTHONUNBUFFERED 1
 
### 在容器内创建mysite文件夹
RUN mkdir -p /opt/blog

#指定源为豆瓣源
RUN pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/

### 豆瓣源:https://pypi.douban.com/simple/
### 清华大学源:https://pypi.tuna.tsinghua.edu.cn/simple/
### 阿里云源:https://mirrors.aliyun.com/pypi/simple/
### 腾讯云源:https://mirrors.cloud.tencent.com/pypi/simple/

RUN pip install --upgrade pip
    
### 设置容器内工作目录
WORKDIR /opt/blog
 
### 将当前目录文件加入到容器工作目录中(. 表示当前宿主机目录)
ADD . /opt/blog

### pip安装依赖
RUN pip3 install -r requirements.txt

### 对外暴露端口
EXPOSE 8090
CMD python3 manage.py runserver 0.0.0.0:8090

[root@vm-12-17-centos blog]# ```powershell
#docker build -t blog:v1 .


2、根据镜像运行容器

```powershell
#docker run -d -p 8090:8090 blog:v1

四、注意要点:

运行镜像后,可以执行

 docker exec -it container-id bash

然后执行python manage.py runserver 0.0.0.0:8090测试运行状态,一般数据库要指定所在系统的IP,而不是127.0.0.1

五、数据库异常处理

set global sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;

set session sql_mode =‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;


原文地址:https://blog.csdn.net/qq_42014575/article/details/129480202

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!