一、准备 Flask 项目
1. 项目结构
有一个app.py
文件作为主应用程序入口,内容示例:
from flask import Flask
app = Flask(__name__)
@app.route('/' )
def hello_world ():
return 'Hello, World!'
if __name__ == '__main__' :
app.run(host='0.0.0.0' )
注意:一定要配置host为0.0.0.0,否则无法访问端口
2. 安装依赖
在项目目录下创建一个requirements.txt
文件,列出项目所需要的 Python 包。例如:
二、创建 Dockerfile
1. 基础镜像选择
在项目根目录下创建一个Dockerfile
。首先,选择一个合适的基础镜像。对于 Python Flask 项目,通常选择基于 Python 的官方镜像。例如,如果你使用 Python 3.10,你可以使用python:3.10 - slim
作为基础镜像。slim
版本的镜像体积较小,没有包含一些不必要的工具和库,减少镜像大小。
注意:如果出现错误,换国内源-阿里云即可解决
ERROR : failed to solve: python:3.8 -slim: failed to resolve source metadata for docker.io/library /python:3.8 -slim: unexpected status from HEAD request to https://xxxx.mirror.aliyuncs.com/v2/library /python/manifests/3.8 -slim?ns=docker.io: 403 Forbidden
FROM alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/python:3.11.1
2. 设置工作目录
3. 复制项目文件和安装依赖
然后安装项目所需的 Python 依赖。运行pip install
命令来安装requirements.txt
中列出的所有包。
RUN pip install -r requirements.txt
4. 暴露端口
Flask 应用通常运行在一个端口上,如5000
。你需要在 Dockerfile 中暴露这个端口,以便外部可以访问容器内的应用。
5. 设置启动命令
最后,设置容器启动时要执行的命令。对于 Flask 应用,通常是运行python app.py
(假设你的主应用文件是app.py
)。
三、构建 Docker 镜像
1. 打开终端
2. 构建镜像
运行docker build
命令来构建镜像。命令格式为docker build -t your_image_name:tag.
,其中your_image_name
是你给镜像起的名字,tag
是镜像的标签(可以是版本号等,例如1.0
)。例如:
docker build -t my_flask_app:1.0 .
这个过程可能需要一些时间,因为它要根据Dockerfile
中的指令来创建镜像,包括下载基础镜像、复制文件、安装依赖等步骤。
四、运行 Docker 容器
构建好镜像后,使用docker run
命令来运行容器。例如:
docker run -p 1000:5000 my_flask_app:1.0
这里-p 1000:5000
表示将主机的5000
端口映射到容器内的1000
端口。这样,你就可以通过在浏览器中访问http://localhost:1000
来查看 Flask 应用了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示