📅  最后修改于: 2023-12-03 14:40:47.575000             🧑  作者: Mango
Docker 是一个开源的容器化平台,它可以让程序员将应用程序打包成容器,方便在不同的环境中进行部署和测试。在开发 Django 应用程序时,使用 Docker 可以很好地隔离开发和生产环境,还可以避免不同开发者之间的环境差异。
本教程将为你介绍如何创建一个基于 Django 的 Dockerfile,其中还包含了与 SQL 数据库的交互。
以下是一个基于 Python 3.9的 Django Dockerfile 示例,其中使用了 MySQL 数据库:
# 基于 Python 3.9 环境
FROM python:3.9
ENV PYTHONUNBUFFERED 1
# 设置代码目录为 /code
RUN mkdir /code
WORKDIR /code
# 安装依赖包
COPY requirements.txt /code/
RUN pip install -r requirements.txt
# 复制项目代码
COPY . /code/
# 设置 MySQL 数据库连接信息
ENV DB_NAME=mydatabase
ENV DB_USER=myuser
ENV DB_PASSWORD=mypassword
ENV DB_HOST=db
ENV DB_PORT=3306
# 运行 Django 项目
CMD python manage.py runserver 0.0.0.0:8000
此处声明要使用基于 Python 3.9 的基础镜像。
设置环境变量,以保证 Python 与 Docker 的交互流畅。
创建一个目录,以用于存放项目文件。
将 /code 设为工作目录。
将 requirements.txt 文件复制到容器的 /code/ 目录中。
安装依赖包。
将当前目录的所有文件复制到容器的 /code/ 目录中。
设置环境变量,包括数据库名称、用户名、密码、主机名和端口号。
运行 Django 项目,其中 0.0.0.0:8000 表示接受来自任意 IP 的连接。
通过以上的 Dockerfile 示例,我们可以轻松地创建一个基于 Django 的 Docker 容器,并与 MySQL 数据库进行交互。这样,我们就可以将应用程序打包成容器,方便地部署和测试。