无法在Windows上的节点容器中运行示例快速应用程序

时间:2016-06-18 03:26:50

标签: node.js docker

我正在从 Pluralsight 观看Docker课程,我需要在刚刚下载的Docker容器上运行Docker源代码。

即使我在当前路径中有package.json个文件,也无法识别。

Usuario@RE MINGW64 /d/node/ExpressSite
$ docker run -p 8080:3000 -v /$(pwd):/var/www -w "/var/www" node:4.4.5 npm start
npm info it worked if it ends with ok
npm info using npm@2.15.5
npm info using node@v4.4.5
npm ERR! Linux 4.4.12-boot2docker
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v4.4.5
npm ERR! npm  v2.15.5
npm ERR! path /var/www/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open

npm ERR! enoent ENOENT: no such file or directory, open '/var/www/package.json'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! Please include the following file with any support request:
npm ERR!     /var/www/npm-debug.log

为什么Pluralsight会做同样的事情呢?我的版本出了什么问题?

1 个答案:

答案 0 :(得分:2)

来自官方文档https://docs.docker.com/engine/userguide/containers/dockervolumes/

  

如果您在Mac或Windows上使用Docker Machine,您的Engine守护程序只能访问您的OS X或Windows文件系统。 Docker Machine尝试自动共享您的/ Users(OS X)或C:\ Users(Windows)目录。因此,您可以使用。

在OS X上挂载文件或目录      

docker run -v /Users/<path>:/<container path> ...

     

在Windows上,使用以下命令安装目录:

     

docker run -v /c/Users/<path>:/<container path> ...

因此,您可以使用代码在C:\Users\<your_username>(例如code)内创建一个目录,并将其安装在容器中,如下所示:

docker run -p 8080:3000 -v /c/Users/<your_username>/code:/var/www -w "/var/www" node:4.4.5 npm start

请注意,您的代码将在/var/www/目录

中的容器内提供

pwd返回/c/Users/<my_username>。在Docker终端自己尝试一下。

为方便起见,您可以使用pwd

docker run -p 8080:3000 -v $(pwd)/code:/var/www -w "/var/www" node:4.4.5 npm start

祝你好运该课程和Dockerize所有的东西!