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

时间:2021-03-10 11:11:37

标签: image docker containers exec

我已经使用我们的应用程序创建了映像,运行该映像后,我可以看到还创建了 docker 容器,当我尝试进入 docker 容器时出现以下错误,请您在这里帮助我。

> <块引用>

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

我已尝试执行以下所有命令

 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

但没有运气......你能在这里帮助我吗。

1 个答案:

答案 0 :(得分:0)

里面可能没有bash,这取决于您选择的图像作为基础。通常如果有任何外壳,您可以使用 sh:

# 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

如果您使用临时镜像作为基础(即 Dockerfile 中的 FROM: scratch),则内部没有 shell。

另外很高兴知道 Alpine Linux 使用 ash 而不是 bash。虽然也有 sh,但使用 ash 对我来说似乎更方便。