OCI runtime create failed: container_linux.go:345: starting container process caused “exec: \“pip\“

OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"pip\": executable file not found in $PATH": unknown

Docker Dockerfile

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

本文在制作 BERT 文本分类模型镜像时,碰到的 docke build 的 pip 错误:
OCI runtime create failed: container_linux.go:345: starting container process caused “exec: “pip”: executable file not found in $PATH”: unknown

Dockefile 制作镜像

使用 pip 安装依赖包:

pip install -r  /home/bert_model/requirements.txt  -i  https://pypi.tuna.tsinghua.edu.cn/simple

写成 Dockefile 的命令:

RUN ["pip", "install", "-r", "/home/bert_model/requirements.txt", "-i", "https://pypi.tuna.tsinghua.edu.cn/simple"]

Dockefile:

FROM refazul/python3.9.0

ADD bert_model.tar /home


RUN ["pip", "install", "-r", "/home/bert_model/requirements.txt", "-i", "https://pypi.tuna.tsinghua.edu.cn/simple"]

ENTRYPOINT ["bash", "/home/bert_model/run.sh"]

创建镜像

docker build -t bert_model:v1 .

报错信息

详细报错信息如下:

OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"pip\": executable file not found in $PATH": unknown

解决方法

先创建测试容器

docker run -it -d \
    --name test_v2 \
    -v /bee/test_model/:/notebooks \
    -e TZ='Asia/Shanghai' \
    --shm-size 16G \
    refazul/python3.9.0:latest

再进入容器

docker exec -it test_v2  bash

查找 pip 路径

执行:

whereis pip

输出:

# whereis pip
pip: /root/.pyenv/shims/pip3.9 /root/.pyenv/shims/pip

可以看出 pip 不在默认的 $PATH 路径下面

修改 pip 路径

修改 Dockefile 中的 pip 命令

RUN ["pip", "install", "-r", "/home/bert_model/requirements.txt", "-i", "https://pypi.tuna.tsinghua.edu.cn/simple"]

为:

RUN ["/root/.pyenv/shims/pip", "install", "-r", "/home/bert_model/requirements.txt", "-i", "https://pypi.tuna.tsinghua.edu.cn/simple"]

Dockefile:

FROM refazul/python3.9.0

ADD bert_model.tar /home


RUN ["/root/.pyenv/shims/pip", "install", "-r", "/home/bert_model/requirements.txt", "-i", "https://pypi.tuna.tsinghua.edu.cn/simple"]

ENTRYPOINT ["bash", "/home/bert_model/run.sh"]

再执行:

docker build -t bert_model:v1 .

执行成功,输出:

Removing intermediate container 214e6260dbca
 ---> 8052d3dacd3f
Step 4/4 : ENTRYPOINT ["bash", "/home/bert_model/run.sh"]
 ---> Running in b59877caf0fc
Removing intermediate container b59877caf0fc
 ---> fc79cd19acb5
Successfully built fc79cd19acb5
Successfully tagged bert_model:v1 

参考

  1. https://www.runoob.com/docker/docker-dockerfile.html
  2. https://blog.csdn.net/m0_48742971/article/details/122991481
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
引用中的报错信息是"Docker: Error response from daemon: OCI runtime create failed: container_linux.go:318: starting container process caused "chdir to cwd ("/tmp/project") set in config.json failed: no such file or directory": unknown. time="2023-05-10T15:37:43 08:00" level=error msg="error waiting for container: context canceled"。" 这个报错可能是由于容器在创建过程中失败导致的。报错中提到的container_linux.go文件以及相关的错误信息表明可能是容器的配置文件或路径设置有问题。 解决这个问题的方法可以参考引用和提供的信息。可以尝试以下步骤来解决该错误: 1. 检查容器的配置文件(config.json)中的路径设置是否正确,特别是/tmp/project是否存在。确保路径设置正确。 2. 检查系统内核和显卡驱动是否有更新。如果有更新,可能导致版本不一致并删除了某些依赖文件。可以尝试更新系统和显卡驱动。 3. 根据操作系统类型,执行相应的命令来安装nvidia-container-toolkit并重新启动Docker服务。对于Ubuntu系统,可以使用以下命令: ``` sudo apt-get update && sudo apt install nvidia-container-toolkit sudo systemctl restart docker ``` 对于Centos系统,可以使用以下命令: ``` distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo yum update yum install -y nvidia-container-toolkit sudo systemctl restart docker ``` 4. 如果需要在容器中共享宿主机的显卡,可以使用以下命令创建容器: ``` sudo docker run -it --gpus all --shm-size 20g nvidia/cuda:11.4.0-cudnn8-devel-ubuntu18.04 /bin/bash ``` 通过执行上述步骤,您应该能够解决报错"Error response from daemon: OCI runtime create failed: container_linux.go:348"。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker: Error response from daemon: OCI runtime create failed: container_linux.go:318 no such file](https://blog.csdn.net/thlzjfefe/article/details/130605453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [解决docker报错Error response from daemon oci runtime error_centos安装docker](https://download.csdn.net/download/lj_70596/14038620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [docker: Error response from daemon: OCI runtime create failed: container_linux.go:367](https://blog.csdn.net/Darren_yy/article/details/131942758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

szZack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值