来自守护程序的错误响应:oci运行时错误:container_linux.go:262:

Kal*_*yan 6 docker docker-for-windows docker-desktop

我刚刚开始使用docker。我已经安装了alpine用于测试Docker工作流的映像,但是在运行后

docker run alpine ls -l
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

来自守护程序的错误响应:oci运行时错误:container_linux.go:262:启动容器进程导致“ exec:\” ls-l \”:在$ PATH中找不到可执行文件”。

我已经在Windows 10中安装了适用于Windows的Docker桌面

ovo*_*ovo 5

尽管我的主机运行Ubuntu,但同样的命令对我也有效。当您传递给容器的命令无效时,我已经看到了该错误,在Alpine中,由于bash不随基本Alpine一起提供,人们尝试调用bash时会发生这种情况:

 $ docker run alpine bash
 container_linux.go:262: starting container process caused "exec: \"bash\": executable file not found in $PATH"
 docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: \"bash\": executable file not found in $PATH".
Run Code Online (Sandbox Code Playgroud)

您可以通过调用sh来避免这种情况。在您的情况下:

 $ docker run alpine sh -c 'ls -l'
total 52
drwxr-xr-x    2 root     root          4096 Oct 25 22:05 bin
drwxr-xr-x    5 root     root           340 Nov 15 22:45 dev
drwxr-xr-x   14 root     root          4096 Nov 15 22:45 etc
drwxr-xr-x    2 root     root          4096 Oct 25 22:05 home
...
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。