starting container process caused "exec: \"nvidia-smi\": executable file not found in $PATH"

本文解决nvidia-docker启动CUDA容器时遇到的nvidiasmi命令缺失问题,通过检查CUDA版本一致性,重建容器卷,最终实现GPU资源在Docker容器中的正确识别与使用。

用nvidia-docker启动容器,无法使用或者找不到nvidiasmi命令

首先检查宿主机和docker的cuda版本是否一致,如果不一致,去search一致cuda版本的docker
如果一致,还无法启动,参考下文

(1)先参考博客
https://blog.youkuaiyun.com/u013042928/article/details/83688606
(2)重新建立容器卷
nvidia-docker volume ls
如果没有则新建

docker volume create --driver=nvidia-docker --name=nvidia_driver_$(modinfo -F version nvidia)

如果有
则删除后新建

sudo rm -rf /var/lib/nvidia-docker/volumes/nvidia_driver/410.73/
docker volume create --driver=nvidia-docker --name=nvidia_driver_$(modinfo -F version nvidia)

(3)测试

 nvidia-docker run --rm nvidia/cuda nvidia-smi
在 Docker 容器启动时遇到 `python3: executable not found in $PATH` 错误,通常意味着容器内缺少 Python 3 的可执行文件或环境变量未正确配置。该错误信息表明容器尝试执行 `python3` 命令时无法在当前的 `$PATH` 环境路径中找到对应的可执行文件。 ### 可能原因与解决方案 #### 1. 容器镜像中未安装 Python 3 确保基础镜像中已安装 Python 3 或者在构建过程中手动安装。例如,在使用基于 Debian 或 Ubuntu 的镜像时,可以通过以下命令安装 Python 3: ```dockerfile RUN apt-get update && \ apt-get install -y python3 ``` 如果使用的是 Alpine Linux 镜像,则应使用 `apk` 包管理器进行安装: ```dockerfile RUN apk add --no-cache python3 ``` #### 2. 执行命令路径不正确 确认 Dockerfile 中的 `CMD` 或 `ENTRYPOINT` 指令是否正确指向了 `python3` 可执行文件。例如: ```dockerfile CMD ["python3", "app.py"] ``` 若容器内没有 `/usr/bin/python3` 路径,可以尝试查找实际安装位置并调整路径[^2]。 #### 3. 自定义环境变量问题 如果使用了自定义的 `PATH` 环境变量,请确保它包含了 Python 3 的安装目录。可以在 Dockerfile 中设置: ```dockerfile ENV PATH="/usr/local/bin:$PATH" ``` #### 4. 使用 Miniconda/Anaconda 环境 如果容器依赖于 Conda 环境,请确认 Conda 是否已正确初始化,并且激活了相应的环境。例如: ```dockerfile ENV PATH="/root/miniconda3/bin:$PATH" RUN conda init bash && \ conda create -n myenv python=3.9 -y ``` 然后在运行容器时激活环境: ```bash docker run -it --entrypoint /bin/bash myimage -c "source activate myenv && python3 app.py" ``` #### 5. 检查挂载卷对环境的影响 如果启用了卷挂载(volume mount),请确认宿主机上的某些配置文件或路径不会干扰容器内的环境变量或可执行路径。例如,避免覆盖 `/etc/environment` 或 `/etc/profile.d/` 下的脚本[^4]。 --- ### 示例修复流程 假设你正在使用一个基于 Ubuntu 的 Dockerfile,以下是修复后的完整示例: ```dockerfile FROM ubuntu:20.04 # 安装 Python 3 和 pip3 RUN apt-get update && \ apt-get install -y python3 python3-pip # 设置工作目录 WORKDIR /app # 复制应用代码 COPY . . # 设置环境变量(可选) ENV PATH="/usr/local/bin:$PATH" # 安装依赖 RUN pip3 install -r requirements.txt # 启动命令 CMD ["python3", "app.py"] ``` 构建并运行容器: ```bash docker build -t myapp . docker run -d myapp ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值