📜  Django 的 Dockerfile 示例 - SQL (1)

📅  最后修改于: 2023-12-03 14:40:47.575000             🧑  作者: Mango

Django 的 Dockerfile 示例 - SQL

Docker 是一个开源的容器化平台,它可以让程序员将应用程序打包成容器,方便在不同的环境中进行部署和测试。在开发 Django 应用程序时,使用 Docker 可以很好地隔离开发和生产环境,还可以避免不同开发者之间的环境差异。

本教程将为你介绍如何创建一个基于 Django 的 Dockerfile,其中还包含了与 SQL 数据库的交互。

Dockerfile 示例

以下是一个基于 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
代码解释
FROM python:3.9

此处声明要使用基于 Python 3.9 的基础镜像。

ENV PYTHONUNBUFFERED 1

设置环境变量,以保证 Python 与 Docker 的交互流畅。

RUN mkdir /code

创建一个目录,以用于存放项目文件。

WORKDIR /code

将 /code 设为工作目录。

COPY requirements.txt /code/

将 requirements.txt 文件复制到容器的 /code/ 目录中。

RUN pip install -r requirements.txt

安装依赖包。

COPY . /code/

将当前目录的所有文件复制到容器的 /code/ 目录中。

ENV DB_NAME=mydatabase

设置环境变量,包括数据库名称、用户名、密码、主机名和端口号。

CMD python manage.py runserver 0.0.0.0:8000

运行 Django 项目,其中 0.0.0.0:8000 表示接受来自任意 IP 的连接。

总结

通过以上的 Dockerfile 示例,我们可以轻松地创建一个基于 Django 的 Docker 容器,并与 MySQL 数据库进行交互。这样,我们就可以将应用程序打包成容器,方便地部署和测试。