blog details
author


blog detail

为了更灵活、更经济地部署和运行 Web 应用程序,应用程序容器化是全球最流行的方法之一。在本文中,我将介绍如何利用 Docker 将 Python Flask Web 应用程序转换为图像并将其推送到 Docker 中心。在本文结束时,您可以学习如何在 Docker hub 上部署实时镜像,用于连接云。

目录:将 Python Web 应用程序转换为图像并使用 Docker 推送直播

什么是 Docker

Docker 是一个开源平台,允许开发人员在容器内自动部署和运行应用程序。容器是轻量级、可移植和隔离的环境,它将应用程序及其依赖项(例如库和配置)打包在一起,从而实现跨不同计算环境的一致且可靠的执行。

以下是与 Docker 相关的一些关键概念:

  1. 容器化:Docker 利用容器化技术,涉及创建和运行容器。容器提供了一个隔离且可重复的环境,确保应用程序可以跨各种系统一致运行。
  2. Docker 镜像:镜像是一个轻量级、独立且可执行的包,其中包含运行应用程序所需的一切,包括代码、运行时、库和依赖项。图像充当容器的构建块。
  3. Docker 容器:容器是镜像的一个实例。它作为主机系统上的单独进程运行,与其他容器和底层基础设施隔离。容器是可移植的,可以在安装了Docker 的不同系统之间轻松移动。
  4. Dockerfile:Dockerfile 是一个文本文件,其中包含构建 Docker 映像的指令。它指定设置应用程序环境所需的基础映像、配置、依赖项和命令。
  5. Docker 注册表:Docker 注册表是存储 Docker 映像的存储库。最常用的注册表是 Docker Hub,它是一个托管大量预构建镜像的公共注册表。此外,您可以设置私有注册表来在组织内存储和共享您自己的 Docker 映像。
  6. Docker Compose:Docker Compose 是一个用于定义和管理多容器应用程序的工具。它允许您使用 YAML 文件描述复杂的应用程序环境,然后将它们作为一个单元进行部署和管理。
  7. 编排:Docker Swarm 和 Kubernetes 是编排平台,可帮助跨多个主机或集群管理和扩展容器化应用程序。它们提供容器的自动化部署、扩展、负载平衡和自我修复功能。

Docker 因其能够简化应用程序的打包、部署和扩展而受到欢迎。它促进一致且高效的开发工作流程,使团队更轻松地跨不同环境协作和部署应用程序。

创建凭证并下载 Docker 应用程序

Docker 提供了一个免费层,其中包括 1 个非公开的私有存储库。创建新帐户后,我们需要下载 Docker 应用程序并安装在本地设备上。它有Window版本、Linux版本、OS版本

Flask 应用文档

首先,我们需要根据Flask框架结构准备一整套Flask应用文档。我们必须检查的主要内容之一是 app.py 中的端口和主机值。请. 务必在 Flask 主应用程序脚本中添加这些参数。

if __name__ == "__main__" :
app . run ( debug = True , host = "0.0.0.0" , port = 8000 )

Dockerfile 文档

在Flask应用程序的根级别(与requirements.txt位于同一层),我们需要添加一个Dockerfile。在这个文件中,我们主要设置和配置Docker镜像的几个关键组件:

  • 语言版本
  • 目录路径
  • 复制依赖项
  • 运行并安装依赖项
  • 复制 Flask 应用程序文档并放置在某个位置
  • 命令并运行

这是一个示例:

FROM python : 3.9.6
WORKDIR /python-flaskdemo
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY ./democn ./democn
CMD [ "python" , "./democn/app.py" ]

在本地命令并构建新的 Docker Image 标签

当文件夹中的所有文档准备就绪后,我们可以 cd 该文件夹并通过以下命令使用文档构建图像:

docker build -t flaskdemo .

对于这里的flaskdemo来说,就是本地的图片标签名。您可以随意命名。构建成功后,镜像名称会显示在Docker Desktop本地界面中

镜像构建完成后,您可以尝试在本地运行并检查 Web 应用程序是否按预期运行。这个过程类似于本地运行的Flask应用程序

docker run -p 8000:8000 flaskdemo

将本地 Docker 镜像标签推送到 Docker Hub

现在是时候将准备好的 Web 应用程序映像推送到 Docker Hub 了。基本上,这是一个启动的过程。您的终端中有几个步骤:

第一步:docker登录

使用此命令检查 Docker 桌面是否已与 Docker hub 连接。确保它已连接到集线器,否则您需要首先使用之前创建的凭据登录。

第2步:docker镜像

输入此命令可查找您要推送的图像标签。先抄下来放下,一会儿就可以用了。

步骤 3:docker tag 并将现有镜像推送到 Docker Hub

键入此命令以及您刚才复制的标签 ID、Docker Hub 项目路径以及 Docker Hub 上显示的新映像名称。镜像名称可能与本地镜像名称不同,因为Docker Desktop 会将渲染的配置和文档推送到新镜像。

docker tag tagID dockerHubname/projectname:newimagename

将 Python Web 应用程序转换为图像并使用 Docker 推送直播的完整 Python 脚本

如果您对第 81 章 – 将 Python Web 应用程序转换为图像并使用 Docker 推送它们感兴趣,请添加消息“第 81 章 + Python Web 应用程序的完整Docker 映像转换脚本”来订阅我们的新闻通讯。当最新的应用程序脚本上线时,我们会向您发送脚本。

我希望您喜欢阅读第 81 章 – 将 Python Web 应用程序转换为图像并使用 Docker 实时推送它们。如果您这样做了,请通过执行下列操作之一来支持我们,因为这总是对我们的频道有所帮助。


分享文章

目前没有留言...

shape shape

免费订阅最新内容更新

获取独家自动样式内容更新和优惠