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

基于ubi8-python:3.11的Docker镜像构建Python项目pip命令缺失求助

问题解决方法

错误原因

  1. UBI8系列镜像默认使用dnf作为包管理器,yum命令已被废弃或未预装,因此会出现yum: command not found。
  2. ubi8-python:3.11镜像中,Python 3对应的包管理工具未被添加到当前用户PATH,或默认以pip3命名,直接调用pip会触发命令找不到的错误。

修正后的Dockerfile

FROM <my_enterprise_nexus_repository>:18444/ubi8-python:3.11

# Add application sources with correct permissions for OpenShift
USER 0
ADD src .
RUN chown -R 1001:0 ./

# 安装Python依赖(通过python -m pip确保调用当前环境的pip)
RUN python -m pip install -U "pip>=19.3.1" && \
    python -m pip install -r requirements.txt

USER 1001

# Run the application
CMD ["python", "main.py"]

关键调整点

  • 用python -m pip替代pip:这种方式直接调用当前Python环境绑定的pip模块,彻底规避PATH路径导致的命令找不到问题,比pip3更可靠。
  • 清理无效标记:删除原Dockerfile中多余的**strong text**无效标记。
  • 调整操作顺序:将依赖安装步骤放在root用户下执行,避免非root用户权限不足问题,完成后再切换回1001用户适配OpenShift权限要求。
  • 系统依赖安装(若需):如果后续需要安装系统级依赖,使用dnf install -y 包名 && dnf clean all替代yum命令,且必须在root用户下执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:23:12