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

Jak*_*ith 16 node.js docker dockerfile docker-compose docker-machine

当我运行以下命令时

$ docker container exec -it nginx1 ping nginx2 
Run Code Online (Sandbox Code Playgroud)

这是我面临的错误:

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

如何解决这个问题?

小智 29

在阅读这个答案之前让你知道,这是我学习 docker 的第二天,它可能对你来说不是完美的帮助。

容器中未安装ping包时也可能出现此错误,我解决了如下问题,像这样bash进入容器

docker container exec -it my_nginx /bin/bash
Run Code Online (Sandbox Code Playgroud)

然后安装ping包

apt-get update
apt-get install inetutils-ping
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题。


小智 6

请使用 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


小智 5

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

docker exec -ti <CONTAINER ID> /bin/sh
Run Code Online (Sandbox Code Playgroud)