当我运行以下命令
$ docker container exec -it nginx1 ping nginx2
这是我遇到的错误:
OCI运行时exec失败:exec失败:container_linux.go:344:正在启动容器进程导致“ exec:\” ping \”:在$ PATH中找不到可执行文件”:未知
如何解决此问题?
答案 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
并运行命令