云原生之Docker部署Flask实践

云原生之Docker部署Flask实践

作者:yukoyu 2022-05-26 15:02:35

云计算

云原生 Docker客户端与 Docker守护进程对话,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护程序可以在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护程序。

一、Docker的了解

1、Docker 简单介绍

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

2、Docker 使用客户端-服务器架构

Docker客户端与 Docker守护进程对话,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护程序可以在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护程序。Docker 客户端和守护程序使用 REST API,通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许您使用由一组容器组成的应用程序。

二、DockerFile 讲解

  • FROM 命
FROM:构建镜像基于哪个镜像
  • MAINTAINER 命令
MAINTAINER:镜像维护者姓名或邮箱地址
  • RUN 命令
RUN:构建镜像时运行的指令
  • CMD 命令
CMD:运行容器时执行的shell环境
  • VOLUME 命令
VOLUME:指定容器挂载点到宿主机自动生成的目录或其他容器
  • USER 命令
USER:为RUN、CMD、ENTRYPOINT执行命令指定运行用户
  • WORKDIR 命令
WORKDIR:为RUN、CMD、ENTRYPOINT、COPYADD设置工作目录
  • EXPOSE 命令
EXPOSE:声明容器的服务端口,仅是声明
  • ENV 命令
ENV:设置容器环境变量
  • ADD 命令
ADD:拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
  • COPY 命令
COPY:拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能
  • ENTRYPOINT 命令
ENTRYPOINT:运行容器时执行的shell命令

三、Docker 快速部署python flask框架

1、创建一个最小的Flask

①、 app.py文件。

#!/usr/bin/env python
importflask
# Createtheapplication.
APP=flask.Flask(__name__)
@APP.route('/')
defindex():
return"hello 51CTO"
if__name__=='__main__':
APP.run()

②、 requirements.txt 文件。

导出本项目Python依赖包。

pipfreeze>requirements.txt

 

2、flask代码和requirements.txt 上传到服务器

①、准备好要上传的文件。

②、使用MobaXterm连接到服务器。

③、拖拽文件上传到服务器。

3、Docker 环境准备

①、Docker拉取 python镜像。

dockerpullpython

②、编写 Dockerfile文件。

FROMpython       # 基础镜像,python
MAINTAINERyukoyu # 镜像作者信息
WORKDIR/app
# 工作目录,这个目录对应于镜像内的工作目录,后面的所有涉及到路径的操作都可以
# 使用WORKDIR的相对路径来指定
COPYrequirements.txtrequirements.txt
# 拷贝requirements.txt镜像中/app/requirements.txt
RUNpipinstall-rrequirements.txt-ihttps://pypi.tuna.tsinghua.edu.cn/simple
# 安装pip包
COPY . .
# 将当前文件中的目录复制到/app目录下
ENVFLASK_APPapp
# 设置环境变量,让flaskrun命令能够找到启动文件的位置
CMD ["flask","run","-h","0.0.0.0","-p","5000"]
# 执行启动命名flaskrun-h0.0.0.0-p5000列表中的每个元素之间代表空格

③、 准备的目录结构。

4、使用Dockerfile构建镜像

①、构建。

dockerbuild-tflasktest:1.0 .

②、查看是否成功。

③、运行flasktest镜像。

dockerrun--nameflasktest01-p5000:5000flasktest:1.0

四、测试效果

运行成功。

​​想了解更多关于开源的内容,请访问:​​

​​51CTO 开源基础软件社区​​

​​https://ost.IDC.NET​​。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/288491.html<

(0)
管理的头像管理
上一篇2025-05-16 08:40
下一篇 2025-05-16 08:41

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注