You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何后台运行多版本Python Docker容器并在本地直接调用对应命令

多Python版本Docker容器配置方案

以下配置可实现本地直接调用python3.6/python3.7/python3.8命令对应不同容器环境,同时支持自定义默认python命令关联版本。

1. 拉取官方Python镜像

优先选择slim轻量化镜像,减少存储空间占用:

docker pull python:3.6-slim
docker pull python:3.7-slim
docker pull python:3.8-slim

2. 启动后台常驻容器

执行以下命令启动三个后台运行的容器,默认挂载本地当前执行命令的目录到容器内,保证本地脚本可以直接被容器内Python环境读取:

  • 启动Python3.6容器:
    docker run -d --name python36 -v "$(pwd):/app" -w /app python:3.6-slim tail -f /dev/null
  • 启动Python3.7容器:
    docker run -d --name python37 -v "$(pwd):/app" -w /app python:3.7-slim tail -f /dev/null
  • 启动Python3.8容器:
    docker run -d --name python38 -v "$(pwd):/app" -w /app python:3.8-slim tail -f /dev/null

参数说明:tail -f /dev/null用于让容器启动后保持后台运行不自动退出,-v参数挂载本地目录到容器/app路径,-w指定容器默认工作目录为/app,和本地路径完全对应。

3. 配置本地命令别名

临时生效(仅当前终端会话有效)

直接在终端执行以下命令即可:

alias python3.6='docker exec -it python36 python'
alias python3.7='docker exec -it python37 python'
alias python3.8='docker exec -it python38 python'
# 如需将默认python命令关联3.8版本,添加以下别名
alias python='docker exec -it python38 python'

永久生效

将上述别名命令写入对应终端配置文件:

  • 若使用bash,写入~/.bashrc,执行source ~/.bashrc生效
  • 若使用zsh,写入~/.zshrc,执行source ~/.zshrc生效

4. 使用示例

  • 运行本地脚本:直接执行python3.6 test.py即可调用3.6版本容器运行当前目录下的test.py
  • 安装对应版本依赖:执行python3.7 -m pip install requests即可给3.7版本容器安装requests库
  • 查看版本:执行python3.8 --version即可验证对应版本是否正常

5. 异常处理

如果终端执行命令提示容器未运行,执行以下命令批量启动三个容器即可:
docker start python36 python37 python38


内容的提问来源于stack exchange,提问作者Eli Halych

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 02:51:04