本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
手把手教你用 Docker 部署 Python
2025/10/3Docker,Python轩辕镜像团队10 分钟阅读

手把手教你用 Docker 部署 Python

本文介绍了通过Docker部署Python的全流程,包括从轩辕镜像查看、下载Python镜像(含多种拉取方式),到以快速部署、挂载本地项目、docker-compose管理三种方式部署容器,还涵盖安装第三方库、构建自定义镜像的进阶实践及常见问题解决办法。

pythondocker部署教程

🧰 准备工作

若你的系统尚未安装 Docker,请先一键安装:

Linux Docker & Docker Compose 一键安装

一键安装配置脚本(推荐方案): 该脚本支持多种 Linux 发行版,支持一键安装 Docker、Docker Compose 并自动配置轩辕镜像加速源。

bash
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

手把手教你用 Docker 部署 Python

Python 是一门应用广泛的语言,常见于数据分析、AI、Web 开发等场景。通过 Docker 部署 Python,可以做到快速安装、环境隔离、跨平台运行。下面我们基于 轩辕镜像 来完整演示 Python 在 Docker 中的部署方法。

1、查看 Python 镜像详情

你可以在 轩辕镜像 中找到 Python 镜像页面: 👉 https://xuanyuan.cloud/r/library/python

在镜像页面中,会看到多种拉取方式,下面我们逐一说明。

2、下载 Python 镜像

2.1 使用轩辕镜像拉取
bash
docker pull docker.xuanyuan.run/library/python:3.12
2.2 拉取后改名
bash
docker pull docker.xuanyuan.run/library/python:3.12 \
&& docker tag docker.xuanyuan.run/library/python:3.12 python:3.12 \
&& docker rmi docker.xuanyuan.run/library/python:3.12

这样后续就可以直接用官方标准名 python:3.12

2.3 使用免登录方式拉取(推荐)
bash
docker pull xxx.xuanyuan.run/library/python:3.12

带重命名的完整命令:

bash
docker pull xxx.xuanyuan.run/library/python:3.12 \
&& docker tag xxx.xuanyuan.run/library/python:3.12 python:3.12 \
&& docker rmi xxx.xuanyuan.run/library/python:3.12
2.4 官方直连方式

如果网络能直连 Docker Hub,可以直接:

bash
docker pull python:3.12
2.5 查看是否拉取成功
bash
docker images

输出类似:

REPOSITORY   TAG     IMAGE ID       CREATED       SIZE
python       3.12    9a2c9eabc123   2 weeks ago   1.02GB

3、部署 Python 容器

下面演示三种方式:快速部署 → 挂载项目 → docker-compose 管理。

3.1 快速部署(最简方式)

适合测试、运行交互式 Python 环境:

bash
docker run -it --name py-test python:3.12

说明:

  • -it:进入交互式终端
  • --name py-test:容器名称
  • python:3.12:使用 Python 3.12 镜像

进入后会看到 Python REPL:

python
Python 3.12.5 (main, Sep 14 2024, 10:15:00)
>>> print("Hello from Xuanyuan Python!")
Hello from Xuanyuan Python!

退出:输入 exit()Ctrl+D

3.2 挂载本地项目(推荐方式)

适合实际项目开发,将宿主机代码挂载到容器内。

第一步:准备目录

bash
mkdir -p /data/python-app
cd /data/python-app

第二步:写一个测试程序

bash
echo 'print("Hello from Xuanyuan Python App!")' > app.py

第三步:启动容器并挂载目录

bash
docker run -it --name py-app \
  -v /data/python-app:/app \
  -w /app \
  python:3.12 python app.py

说明:

  • -v /data/python-app:/app:挂载宿主机目录到容器
  • -w /app:指定容器内工作目录
  • python app.py:执行程序

输出应为:

Hello from Xuanyuan Python App!
3.3 使用 docker-compose 部署(适合企业级项目)

第一步:创建项目目录

bash
mkdir -p /data/py-compose
cd /data/py-compose

第二步:准备应用 写一个 main.py

python
print("Python running in Docker with docker-compose!")

第三步:编写 docker-compose.yml

yaml
version: '3'
services:
  python-app:
    image: python:3.12
    container_name: python-service
    working_dir: /app
    volumes:
      - ./app:/app
    command: python main.py
    restart: always

目录结构:

/data/py-compose
 ├─ docker-compose.yml
 └─ app
     └─ main.py

第四步:启动服务

bash
docker compose up -d

查看状态

bash
docker compose ps

查看日志

bash
docker compose logs -f

输出:

python-service  | Python running in Docker with docker-compose!

4、进阶实践

4.1 安装第三方库

运行交互式容器,使用 pip 安装:

bash
docker run -it --name py-pandas python:3.12 bash
pip install pandas

或者在项目目录添加 requirements.txt

flask
requests

然后容器启动时自动安装:

bash
docker run -it -v /data/python-app:/app -w /app python:3.12 pip install -r requirements.txt
4.2 构建自定义 Python 镜像

在项目中写一个 Dockerfile

dockerfile
FROM python:3.12

WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .

CMD ["python", "app.py"]

构建镜像:

bash
docker build -t my-python-app .

运行:

bash
docker run -it --name py-custom my-python-app

5、常见问题

5.1 进入容器后 Python 环境丢失?

默认进入是 /bin/bash,需要手动执行 python。也可以直接:

bash
docker exec -it py-app python
5.2 如何持久化依赖环境?
  • 使用 requirements.txt + pip install
  • 或者构建自定义镜像(见上文 4.2)
5.3 容器内时区不对?

-e TZ=Asia/Shanghai

bash
docker run -it -e TZ=Asia/Shanghai python:3.12
5.4 如何运行 Flask / Django Web 项目?

以 Flask 为例,在 app.py

python
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello Flask from Docker!"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)

运行容器:

bash
docker run -d --name py-flask -p 5000:5000 \
  -v /data/python-app:/app -w /app \
  python:3.12 pip install flask && python app.py

访问 http://服务器IP:5000 即可。

结尾

至此,你已经掌握了 Python 在 Docker 中的部署全流程:

  • 拉取镜像(轩辕镜像 / 官方)
  • 快速运行 Python 环境
  • 挂载项目目录运行代码
  • 使用 docker-compose 管理服务
  • 构建自定义镜像和运行 Web 应用

对于初学者,可以先尝试「快速部署」和「挂载目录」;对于工程师,推荐使用「docker-compose」或「自定义镜像」来管理依赖和部署。

👉 在实践中遇到问题,可以通过 docker logs 容器名 查看日志,或参考 Python 官方文档。

免责声明

本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。

用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。

用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。

本免责声明的最终解释权归轩辕镜像官方所有。

最后更新:2025/10/8