OCI runtime exec failed: exec failed: container_linux.go:344: 启动容器进程

OCI runtime exec failed: exec failed: container_linux.go:344: starting container process

当我运行下面的命令

$ docker container exec -it nginx1 ping nginx2 

这是我遇到的错误:

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

如何解决这个问题?

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

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

容器中没有安装ping包也会出现这个错误,我是这样解决的,bash这样进入容器

docker container exec -it my_nginx /bin/bash

然后安装ping包

apt-get update
apt-get install inetutils-ping

这解决了我的问题。

这是我最近遇到的事情。当 运行 具有自定义名称的 docker 容器时,如果我们在名称后放置 command/option(s)/etc,那么它将作为命令传递给容器。所以在这里容器试图在其中找到 ping 命令但是找不到,所以作为上面的答案你必须在容器内安装 inetutils-ping 和 运行 命令

请使用nginx的alpine镜像:

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

我遇到了同样的问题,并设法通过访问解决了它:

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

试试这个对我有用

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

比运行你的命令

对两个容器都这样做
# $ docker container exec -it nginx1 ping nginx2 

    

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

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

docker container exec -it webhost ping new_nginx

尝试在两个容器中安装 ping,

apt-get 更新,

apt-get 安装 inetutils-ping

之后尝试 ping 命令。