使用 Docker 部署 Django 应用程序教程

阅读时长 4 分钟读完

Docker 是一个流行的容器化平台,它可以让开发人员将应用程序和它们的依赖项打包在容器中,方便部署和管理。在本文中,我们将探讨如何使用 Docker 部署 Django 应用程序。

准备工作

在开始之前,确保已经安装了以下软件:

  • Docker

如果你还没有安装 Docker,请到 官网 下载适合你操作系统的版本并安装。安装完成后,请确保 Docker 已经启动。

构建 Docker 镜像

Django 应用程序需要在一个 Python 环境中运行。我们可以使用官方的 Python Docker 镜像,它预装了 Python 环境。从 Docker Hub 下载 Python 镜像,并通过 Dockerfile 配置文件自定义镜像。在项目代码的根目录下,创建一个名为 Dockerfile 的文件,并在其中添加以下内容:

-- -------------------- ---- -------
---- ----------

------- ----

--- ------- ------ -
    -- ------- ------- -- ----------------------- -
        ----------------- -
    -- -- --- --------------------

---- ---------------- --
--- --- ------- -------------- -- ----------------

---- - -

--- ---------- ------------ ------------ ---------------

Dockerfile 中的每一行都有特定的作用。上面的 Dockerfile 配置了使用 Python 3.8,创建了一个名为 /app 的目录并将其设置为工作目录,安装了 PostgreSQL 客户端,将项目依赖项 requirements.txt 文件复制到容器中,并安装这些依赖项,最后将 Django 项目代码复制到容器中。

通过在 Dockerfile 所在的目录下运行以下命令,构建 Docker 镜像:

其中,-t 表示设置镜像名称为 my_django_app。

配置 Docker 容器

一旦我们构建了 Docker 镜像,就可以在 Docker 中启动新容器来运行 Django 应用程序。首先,我们需要为我们的容器设置一些环境变量。在项目根目录创建一个名为 .env 的文件,并添加以下内容:

DB_NAMEDB_USERDB_PASSWORDDB_HOSTDB_PORT 参数是在使用 PostgreSQL 数据库时要用到的参数。这些参数的值需要与在容器中运行的 PostgreSQL 数据库的值相对应。

然后,在项目的根目录下创建一个名为 docker-compose.yml 的文件,并将以下内容添加到其中:

-- -------------------- ---- -------
-------- ---

---------

  ---
    ------ --------
    -------- ------
    ------------
      ------------ ----------
      -------------- ----------
      ------------------ --------------

  ----
    ------ -
    -------- ------ --------- --------- ------------
    --------
      - ------
    ------
      - -----------
    ------------
      -------- ----------
      -------- ----------
      ------------ --------------
      -------- --
      -------- ----------

在 docker-compose.yml 文件中,我们定义了两个服务:db 和 web。db 服务使用 postgres 镜像,并设置了 POSTGRES 参数。web 服务使用我们刚刚构建的 Docker 镜像,并在容器中运行 Django 服务器。我们在 docker-compose.yml 中也使用了 .env 文件中定义的参数。

运行以下命令启动容器:

现在访问浏览器并输入地址 http://localhost:8000 就能看到 Django 应用程序!

结论

使用 Docker 部署 Django 应用程序可以简化应用程序的部署和管理。在本文中,我们配置了 Dockerfile 镜像文件和 docker-compose.yml 文件,并启动了 Docker 容器以运行 Django 应用程序。如果你想要进一步扩展应用程序的部署,请查看 Docker 官方文档以获得更多信息。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f5fcccc5c563ced57e51d1

纠错
反馈