首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OCI运行时执行失败: exec失败: container_linux.go:349:启动容器进程导致" exec:

OCI运行时执行失败: exec失败: container_linux.go:349:启动容器进程导致" exec:
EN

Stack Overflow用户
提问于 2021-03-10 11:11:37
回答 1查看 11.3K关注 0票数 12

我已经用我们的应用程序创建了映像,在运行映像之后,我可以看到码头容器也被创建了,当我试图进入码头容器时,我得到了下面的错误,请您在这里帮助我。

“”OCI运行时执行失败: exec失败: container_linux.go:349:启动容器进程导致" exec:“bash:可执行文件未在$PATH中找到”:未知“

我尝试执行以下所有命令

代码语言:javascript
复制
 docker run -it exec 962f5d99458c
 docker run -it 962f5d99458c
 docker exec -it 962f5d99458c /bin
 docker exec -it 75f6cb44f9e1
 docker run --rm -ti 962f5d99458c sh
 docker run --rm -ti 962f5d99458c /bin
 docker exec  --rm -ti 962f5d99458c /bin
 docker exec  -ti 962f5d99458c /bin
 docker exec  -ti 962f5d99458c \bin
 docker exec -it 75f6cb44f9e1 bash

但没有运气..。你能帮帮我吗。

EN

回答 1

Stack Overflow用户

发布于 2021-03-10 11:32:06

错误说明启动命令无效,因为映像中没有(或不在$PATH上)某些可执行文件(本例中为bash)。对于某些映像(例如基于阿尔卑斯Linux或scratch),没有scratch就足够了,但是如果有任何shell,则可以使用sh

代码语言:javascript
复制
# create a container from image and get straight into shell
docker run -it <image> sh

# or start a container in background, then get into shell
docker run -d <image>
docker exec -it <container> sh

如果映像中没有shell,那么启动它的唯一方法就是使用映像应该运行的应用程序的二进制文件。通常情况下,除非您已经重写了Dockerfile中的ENTRYPOINT和/或CMD,或者是run参数,否则它就会开箱即用。默认的启动参数可以用docker inspect找到。

代码语言:javascript
复制
docker image inspect nginx | jq '.[0].Config.Entrypoint'
docker image inspect nginx | jq '.[0].Config.Cmd'

如果您完全确定可执行文件存在,但仍然得到错误,使用绝对路径可能会有所帮助(例如,/bin/bash而不是简单的bash)。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66563549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档