OCI运行时exec失败:exec失败:container_linux.go:344:启动容器进程

时间:2019-03-27 13:29:05

标签: node.js docker docker-compose dockerfile docker-machine

当我运行以下命令

$ docker container exec -it nginx1 ping nginx2 

这是我遇到的错误:

  

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

如何解决此问题?

7 个答案:

答案 0 :(得分:2)

在阅读此答案之前,请先告诉您,这是我学习docker的第二天,对您来说可能不是完美的帮助。

当未在容器中安装ping软件包时,也可能发生此错误,我如下解决了问题,将bash放入容器中

docker container exec -it my_nginx /bin/bash

然后安装ping程序包

apt-get update
apt-get install inetutils-ping

这解决了我的问题。

答案 1 :(得分:2)

我遇到了同样的问题,并设法通过以下方式解决了该问题:

docker exec -ti <CONTAINER ID> /bin/sh

答案 2 :(得分:2)

尝试一下对我有用的

# $ docker container exec -it new_nginx bash 
# apt-get update
# apt-get install inetutils-ping

对两个容器都执行此操作,而不是运行命令

# $ docker container exec -it nginx1 ping nginx2 

    

答案 3 :(得分:1)

请使用nginx的高山图片:

docker container run -d --name my_nginx_name nginx:alpine

docker container run -d --name my_nginx_name2 nginx:alpine

然后尝试使用以下命令ping:

docker container exec -it my_nginx_name ping my_nginx_name2

答案 4 :(得分:1)

在容器中安装 ping 实用程序。

docker container exec -it webhost /bin/bash
apt-get update
apt-get install inetutils-ping

docker container exec -it webhost ping new_nginx

答案 5 :(得分:0)

当您尝试运行在docker image中找不到的命令时,报告此错误。请检查ping docker中是否安装了image

答案 6 :(得分:0)

这是我最近遇到的事情。当运行带有自定义名称的Docker容器时,如果我们在名称后放置命令/选项/等,则将其作为命令传递给容器。因此,在这里容器尝试在其中找到ping命令,但找不到,因此,如上述答案,您必须在容器内安装inetutils-ping并运行命令