0

0

Docker Python Django 初始配置设置

王林

王林

发布时间:2024-09-01 18:03:13

|

950人浏览过

|

来源于dev.to

转载

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

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

慧中标AI标书
慧中标AI标书

慧中标AI标书是一款AI智能辅助写标书工具。

下载

访问应用程序

您现在可以通过在 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 文件中的配置启动容器。

Docker Python Django 初始配置设置

[来源 - 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 下载您的镜像并在自己的环境中运行您的应用程序。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

769

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

661

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

764

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

639

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1325

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

549

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

579

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

709

2023.08.11

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 9.2万人学习

Django 教程
Django 教程

共28课时 | 3.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号