免费发布信息
微信公众号
当前位置: 首页 » 帮助中心 » 常见问题 » 正文

Docker Python Django 初始配置设置

   来源:黔优网时间:2024-09-20 17:07:36 浏览量:0

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、创建的和大小。

立即学习“Python免费学习笔记(深入)”;

示例输出:

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

解释:

version:定义 docker compose 文件格式的版本。 3.8是一个常见的选择。

services:列出您要运行的所有容器。

my-service:服务的名称。您可以在这里使用任何名称。

image:指定要使用的 docker 镜像。

container_name:为容器分配名称。

端口:将容器端口映射到主机端口。

volumes:将目录或文件从主机挂载到容器。

环境:(可选)定义容器内的环境变量。

命令:(可选)覆盖 docker 镜像中指定的默认命令。

要使用此 docker-compose.yml 文件,请将其保存在项目目录中并运行:

docker-compose up

此命令将根据 docker-compose.yml 文件中的配置启动容器。

[来源 - mayank ahuja ]

让我们了解一下?????? ???????? -

[1.] 开发

◾ 编写您的应用程序代码。

[2.] dockerfile

◾ 创建一个 dockerfile 来定义应用程序的环境和依赖项。

[3.] 构建镜像

◾ 使用 docker build 从 dockerfile 创建 docker 镜像。

[4.] 运行容器

◾ 使用 docker run 从您的映像启动容器。

◾ 容器是应用程序的一个独立实例。

[5.]测试

◾ 在容器内测试您的应用程序。

◾ 如果进行更改,请重建映像并重新创建容器。

[6.] push => 这是可选的

◾ 使用 docker push 在注册表(例如 docker hub)上共享您的镜像。

[7.] pull => 这是可选的

◾ 其他人可以使用 docker pull 下载您的镜像并在自己的环境中运行您的应用程序。

以上就是Docker Python Django 初始配置设置的详细内容,更多请关注本网内其它相关文章!

 
 
没用 0举报 收藏 0
免责声明:
黔优网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优网官方立场,请读者仅做参考。本文标题:Docker Python Django 初始配置设置,本文链接:https://www.qianu.com/help/44321.html,欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法信息,请您立即点此【投诉举报】并提供有效线索,也可以通过邮件(邮箱号:kefu@qianu.com)联系我们及时修正或删除。
 
 

 

 
推荐图文
推荐帮助中心