推荐答案
// www.javascriptcn.com code example ## 推荐答案 1. **创建 Dockerfile** 在 Django 项目的根目录下创建一个名为 `Dockerfile` 的文件,内容如下: ```dockerfile # 使用官方 Python 镜像作为基础镜像 FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 复制项目依赖文件 COPY requirements.txt . # 安装依赖 RUN pip install --no-cache-dir -r requirements.txt # 复制项目文件 COPY . . # 暴露端口 EXPOSE 8000 # 运行 Django 应用 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
创建 docker-compose.yml 文件
在项目根目录下创建一个名为docker-compose.yml的文件,内容如下:// www.javascriptcn.com code example version: '3.8' services: web: build: . ports: - "8000:8000" volumes: - .:/app command: python manage.py runserver 0.0.0.0:8000构建并运行 Docker 容器
在终端中运行以下命令来构建并启动 Docker 容器:docker-compose up --build
访问应用
在浏览器中访问http://localhost:8000,即可看到部署的 Django 应用。
// www.javascriptcn.com code example ## 本题详细解读 ```markdown ## 本题详细解读 ### 1. Dockerfile 的作用 Dockerfile 是一个文本文件,包含了一系列的指令,用于定义如何构建 Docker 镜像。在这个例子中,我们使用了官方的 Python 镜像作为基础镜像,并安装了 Django 项目所需的依赖。最后,我们通过 `CMD` 指令来运行 Django 开发服务器。 ### 2. docker-compose.yml 的作用 `docker-compose.yml` 文件用于定义和运行多容器 Docker 应用程序。在这个例子中,我们定义了一个名为 `web` 的服务,它使用当前目录下的 `Dockerfile` 来构建镜像,并将容器的 8000 端口映射到主机的 8000 端口。`volumes` 指令用于将主机上的项目目录挂载到容器中,以便在开发过程中可以实时查看代码更改。 ### 3. 构建和运行容器 `docker-compose up --build` 命令会构建镜像并启动容器。`--build` 选项确保在启动容器之前重新构建镜像,这对于在开发过程中频繁更改代码的情况非常有用。 ### 4. 访问应用 Django 开发服务器默认监听 8000 端口。通过将容器的 8000 端口映射到主机的 8000 端口,我们可以在浏览器中访问 `http://localhost:8000` 来查看部署的 Django 应用。 ### 5. 其他注意事项 - 在生产环境中,建议使用 `gunicorn` 或 `uWSGI` 作为 Django 应用的 WSGI 服务器,而不是直接使用 `manage.py runserver`。 - 如果项目依赖数据库或其他服务,可以在 `docker-compose.yml` 中添加相应的服务定义,并配置 Django 的 `settings.py` 文件以连接到这些服务。