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

无网络环境下Docker中通过本地tar包pip安装指定Python依赖的方法

离线构建Docker镜像(依赖本地tar包)

步骤1:提前下载所有依赖包(在有网络环境操作)

确保本地Python版本和后续Docker镜像使用的Python版本一致(比如都是3.9),执行以下命令将所有依赖(包括子依赖)下载到本地packages目录:

pip download -d packages pymongo netmiko pyats[full]

执行完成后,packages目录会生成所有所需的.tar.gz或.whl格式依赖包。

步骤2:整理本地文件结构

将以下内容放在同一目录下:

  • 你的项目代码(包含main.py)
  • 刚才生成的packages目录
  • 修改后的Dockerfile

步骤3:修改Dockerfile

替换原有RUN pip install命令,改用本地包实现完全离线安装:

WORKDIR /scan

# 复制本地依赖包到容器内
COPY packages /scan/packages

# 离线安装依赖:--no-index禁止访问远程索引,--find-links指定本地包路径
RUN pip install --no-index --find-links=./packages pymongo netmiko pyats[full]

ENV Testbed=
ENV arr=
# ENV device=
# ENV id=

# 复制项目代码到容器
COPY . /scan

ENTRYPOINT ["python3", "main.py"]

关键说明

之前用requirements文件仍联网的原因:

  • 即使把包名写在requirements里,默认情况下pip仍会尝试访问PyPI索引验证版本或下载缺失的子依赖
  • 必须添加--no-index和--find-links参数,强制pip仅从本地读取依赖包

离线构建命令

在本地文件目录下执行(无需网络):

docker build -t your-image-name .

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:37:09