>当我运行以下命令时
$ docker container exec -it nginx1 ping nginx2
这是我面临的错误:
OCI 运行时执行失败:执行失败:container_linux.go:344:启动容器进程导致"执行:\"ping":在$PATH中找不到可执行文件":未知
如何解决这个问题?
在阅读此答案之前,请先告诉您,这是我学习 docker 的第二天,它可能不是对您提供完美的帮助。
当容器中未安装ping包时,也可能发生此错误,我解决了以下问题,像这样猛击容器
docker container exec -it my_nginx /bin/bash
然后安装 ping 包
apt-get update
apt-get install inetutils-ping
这解决了我的问题。
请使用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
我遇到了同样的问题,并通过访问设法解决了它:
docker exec -ti <CONTAINER ID> /bin/sh
最近遇到的。当运行具有自定义名称的 docker 容器时,如果我们在名称后放置一个命令/选项/等,它将作为命令传递给容器。所以在这里容器试图在其中找到 ping 命令但无法,所以正如上面的答案,您必须在容器内安装 inetutils-ping
并运行命令
试试这个,它对我有用
# $ 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 update,
apt-get install inetutils-ping
之后尝试 ping 命令。
当您尝试运行在 docker image
中找不到的命令时,会报告此错误。请检查ping
是否安装在docker
image
中。