Docker:来自守护进程的错误响应:OCI运行时创建失败:container_linux.go:296:

pel*_*can 14 node.js docker dockerfile docker-compose

我试图用快速运行一个简单的节点应用程序,但我收到此错误:

在此输入图像描述

这是我的工作目录:

在此输入图像描述

我运行以下命令将我当前的源代码目录挂载到/var/www节点容器内并运行节点npm start启动应用程序; 但我得到上面的错误,不知道该怎么做:

docker run -p 8085:3000 -v /home/joel/workspace/plural_docker_webdev:/var/www node -w "/var/www" node npm start
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:296: starting container process caused "exec: \"-w\": executable file not found in $PATH": unknown.
ERRO[0000] error waiting for container: context canceled
Run Code Online (Sandbox Code Playgroud)

Rya*_*app 19

Docker告诉你该命令出错了.它试图node用命令运行图像-w.由于-w不是命令,它会抛出此错误.

这是因为你写node的地方你可能不是故意的.

你的命令被解释如下:

docker run -p [port_info] -v [volume_info] node [command]
Run Code Online (Sandbox Code Playgroud)

您可以像这样重写命令,它应该可以正常工作:

docker run -p 8085:3000 -v /home/joel/workspace/plural_docker_webdev:/var/www -w "/var/www" node npm start
Run Code Online (Sandbox Code Playgroud)

  • 我通过在命令后放置`[container_name]`解决了我的问题.谢谢@RyanRapp (6认同)
  • 那可能是另一个问题。但是,您打算传递给docker run的所有参数都必须出现在[container_name]参数之前。在发布的命令中,在节点之后出现-w“ / var / www”。这就是为什么docker试图运行命令-w并给您一个错误的解释的原因。另外,“ node npm start”不是命令。这只是`npm start`。您可以在控制台中对此进行验证。 (2认同)