部署Python应用使用Docker是一种流行的做法,因为它可以帮助你创建可移植、可复现的开发和运行环境。以下是将Python应用部署到Docker容器的基本步骤:
1. 准备Python应用
确保你的Python应用已经编写完成,并且所有依赖都列在requirements.txt
文件中。例如:
Python=3.13.2
Flask=3.1.0
jieba=0.42.1
pandas=2.2.3
scikit-learn=1.6.1
2. 创建Dockerfile
在Python应用的根目录下创建一个名为Dockerfile
的文件(没有文件扩展名)。Dockerfile
定义了如何构建Docker镜像。以下是一个基本的示例:
# 使用官方Python运行时作为父镜像
FROM python:3.8-slim
# 设置工作目录为/app
WORKDIR /app
# 将当前目录内容复制到位于/app中的容器中
COPY . /app
# 安装requirements.txt中指定的任何依赖
RUN pip install --no-cache-dir -r requirements.txt
# 使端口5000对外可用 (容器内的应用使用的端口)
EXPOSE 5000
# 定义环境变量(根据需要设置)
# ENV NAME World
# 运行应用
CMD ["python", "./your_app.py"]
将your_app.py
替换为你的Python应用的主文件。
3. 构建Docker镜像
打开命令行工具,切换到包含Dockerfile
的目录,然后运行以下命令来构建Docker镜像:
docker build -t your-app-name .
这里的your-app-name
是你给镜像起的名字(小写),.
表示当前目录(包含Dockerfile)。
4. 运行Docker容器
构建镜像后,你可以使用以下命令来运行一个容器:
docker run -d -p 5000:5000 --restart always --name 容器名称 镜像名称
在此基础上,可以挂载当前目录到容器,方便同步内容。
# windows 系统当前目录用%cd%,linux系统用$(pwd)
docker run -d -p 5000:5000 -v %cd%:/容器内目录路径 --restart always --name 容器名称 镜像名称
这个命令会启动一个后台运行的容器,并将容器的5000端口映射到主机的5000端口。现在,你可以通过访问http://localhost:5000
来访问你的应用。
5. 访问你的应用
打开浏览器,访问http://localhost:5000
,你应该能看到你的Python应用运行起来了。