如何从Docker镜像/容器获取Python已安装包及其依赖列表?
从Docker镜像或运行中的容器获取Python已安装包列表的方法
一、从运行中的容器获取
- 进入运行中的容器(根据镜像默认shell选择
/bin/bash或/bin/sh):docker exec -it <容器ID/名称> /bin/bash - 在容器内执行命令获取包列表:
- 查看所有已安装包:
pip list - 导出为requirements.txt格式:
pip freeze > requirements.txt,之后可将文件复制到本地:docker cp <容器ID/名称>:/path/to/requirements.txt ./本地目标路径
- 查看所有已安装包:
- 若容器未运行,可临时启动容器执行命令(执行后自动删除容器):
docker run --rm image1 pip list
二、从已拉取的镜像直接获取
无需启动持久化容器,直接通过docker run执行pip命令:
- 查看所有已安装包:
docker run --rm image1 pip list - 直接在本地生成requirements.txt文件:
docker run --rm image1 pip freeze > requirements.txt
注意事项
- 若镜像中使用
pip3,请将命令中的pip替换为pip3 - 部分轻量基础镜像可能不包含bash,需改用
/bin/sh进入容器 - 若Python应用使用虚拟环境,需先激活对应虚拟环境再执行pip命令
内容的提问来源于stack exchange,提问作者user59419
相关产品推荐
相关产品推荐

