首页 >web前端 >js教程 >Docker Python Django 初始配置设置

Docker Python Django 初始配置设置

王林
王林原创
2024-09-01 21:09:381014浏览

Docker 工作流程

1. 确保您的 Dockerfile 正确

确保您的 Dockerfile 已准备好并位于项目的根目录中。根据前面的讨论,您的 Dockerfile 可能如下所示:

FROM python:3.11

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /app

COPY requirements.txt .

RUN pip install --upgrade pip
RUN pip install -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

.
.
.

2. 构建 Docker 镜像

打开终端并导航到 Dockerfile 所在的目录。然后运行以下命令构建 Docker 镜像并将其命名为 my-docker-image:

docker build -t my-docker-image .

此命令运行容器并将容器的端口 8000 映射到本地计算机上的端口 8000,允许您通过 http://localhost:8000 访问 Django 应用程序。

如果你想在后台运行容器,请添加 -d 选项:

docker run -d -p 8000:8000 my-docker-image

这将以分离模式启动容器。

**docker 镜像**

要检查系统上可用的 Docker 镜像,您可以使用以下命令:

docker images

此命令将显示所有 Docker 映像的列表,以及它们的存储库、标签、映像 ID、创建的和大小。

示例输出:

REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
my-docker-image     latest    d1a1f2e8f7b2   2 hours ago    450MB
python              3.11      a2d3c4e5f6g7   5 days ago     800MB

解释:

  • REPOSITORY:镜像的名称,例如 my-docker-image。
  • TAG:镜像的标签,常用于指定版本。
  • 图像 ID:图像的唯一标识符。
  • CREATED:创建图像的时间。
  • SIZE:图像的大小。

.
.
.

3.构建 Docker 容器

您提供的命令将以分离模式运行名为 my-docker-container 的 Docker 容器,将本地计算机上的端口 8001 映射到容器内的端口 8000。该命令的作用如下:

命令:

docker run -d --name my-docker-container -p 8001:8000 my-docker-image

解释:

  • -d:以分离模式运行容器,这意味着它在后台运行。
  • --name my-docker-container:将名称 my-docker-container 分配给容器。
  • -p 8001:8000:将本地计算机上的端口 8001 映射到容器内的端口 8000。这允许您访问 Django 应用程序:http://localhost:8001。
  • my-docker-image:指定用于容器的 Docker 映像。

验证容器正在运行

运行此命令后,您可以使用以下命令检查容器是否正在运行:

docker ps

这将列出所有正在运行的容器及其名称、状态和端口映射。

访问应用程序

您现在可以通过在 Web 浏览器中导航到 http://localhost:8001 来访问您的 Django 应用程序。

.
.
.

4.Docker 卷

docker run -d --name my-docker-container -p 8001:8000 -v .:/app my-docker-image

您提供的 docker run 命令用于从 Docker 镜像启动 Docker 容器。以下是该命令的详细说明:

  • -d:以分离模式运行容器(在后台)。
  • --name my-docker-container:为容器分配名称(my-docker-container)。
  • -p 8001:8000:将容器内的端口 8000 映射到主机上的端口 8001。这意味着您可以在主机上的 localhost:8001 处访问容器中运行的服务。
  • -v .:/app:将当前目录 (.) 从主机挂载到容器内的 /app 目录。当您想要实时查看更改而不重建映像时,这对于开发非常有用。
  • my-docker-image:指定用于容器的 Docker 映像。

因此,此命令将在后台启动一个容器,容器内的端口 8000 可通过主机的端口 8001 访问,并将当前目录挂载到容器中的 /app 。如果您需要任何调整或进一步解释,请随时询问!

.
.
.

5.Docker-compose.yml

docker-compose.yml 文件用于定义和运行多容器 Docker 应用程序。以下是基于 docker run 命令的 docker-compose.yml 文件的基本示例:

version: '3.8'  # Specify the version of Docker Compose

services:
  my-service:
    image: my-docker-image  # The Docker image to use
    container_name: my-docker-container  # The name of the container
    ports:
      - "8001:8000"  # Map port 8000 in the container to port 8001 on the host
    volumes:
      - .:/app  # Mount the current directory to /app in the container
    # Optional: Add environment variables if needed
    # environment:
    #   - ENV_VAR_NAME=value
    # Optional: Specify any commands to run
    # command: python app.py

# Optional: Define networks or other configurations here
# networks:
#   default:
#     driver: bridge

Explanation:

  • version: Defines the version of Docker Compose file format. 3.8 is a common choice.
  • services: Lists all the containers you want to run.
    • my-service: The name of the service. You can use any name here.
    • image: Specifies the Docker image to use.
    • container_name: Assigns a name to the container.
    • ports: Maps container ports to host ports.
    • volumes: Mounts directories or files from the host to the container.
    • environment: (Optional) Defines environment variables inside the container.
    • command: (Optional) Overrides the default command specified in the Docker image.

To use this docker-compose.yml file, save it in your project directory and run:

docker-compose up

This command will start the container based on the configuration in the docker-compose.yml file.

Docker Python Django initial configuration setup

[Source - Mayank Ahuja ]

Let's understand the ?????? ???????? -

[1.] Develop
◾ Write your application code.

[2.] Dockerfile
◾ Create a Dockerfile that defines the environment and dependencies for your application.

[3.] Build Image
◾ Use docker build to create a Docker image from your Dockerfile.

[4.] Run Container
◾ Use docker run to launch a container from your image.
◾ The container is an isolated instance of your application.

[5.] Test
◾ Test your application within the container.
◾ If you make changes, rebuild the image and recreate the container.

[6.] Push => This is Optional
◾ Use docker push to share your image on a registry (e.g. Docker Hub).

[7.] Pull => This is Optional
◾ Others can use docker pull to download your image and run your application in their own environments.

以上是Docker Python Django 初始配置设置的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn