在docker上部署nodejs

我正在尝试将示例节点js应用程序部署到docker。

我正在从http://oskarhane.com/create-a-nodejs-docker-io-image/下面的教程。

在教程中,有第4步:作者要求修改app.js与代码并放置在/app/www/app.js但我的问题是,当我做winscp,我找不到文件夹/ www在/ var。 我真的被困在这个地方。

任何人都可以告诉我如何修改与服务器代码的js文件app.js? 或者任何更简单的步骤appraoch是有部署任何应用程序在Ubuntu 12.04docker请让我知道。

作者在步骤2中创build/var/www

 mkdir /var/www && echo 'console.log("Hello from Node.js");' > /var/www/app.js 

他在第3步提交给图像。所以你在第3步之后得到的图像应该是/var/www

 docker commit 0a7e9dd8dbdd NodeBase 

所以图像NodeBase将包含一个文件夹/var/www 。 如果没有,你在步骤2或3中犯了一个错误。

不过,我觉得这是一个奇怪的教程。 在交互式shell中构build容器不是非常明智的。 相反,我会使用Dockerfile来build立你的图像。 你知道如何安装Node.js(比方说)Ubuntu吗? 如果你这样做,你可以在Dockerfile中做同样的事情:

 FROM ubuntu RUN apt-get -y install nodejs ADD /your-app/ /var/www/your-app CMD run-node-here 

然后通过docker build -t yourImage .构build图像docker build -t yourImage . 并运行它。

Node.js非常受欢迎,所以你有幸find已经准备好的Node.js镜像。 你可以去https://index.docker.io然后search一个合适的Node.js图片。 你会发现第一个将是https://index.docker.io/u/dockerfile/nodejs/ 。 你可以使用这个图像,并安装你自己的应用程序:

 docker pull dockerfile/nodejs docker run -it -v /your/node/app:/data:rw --rm dockerfile/nodejs node 

请注意,我没有使用Node.js的经验,仅仅使用Docker。 所以我没有testing过这个东西,我只是给你一个一般的build议如何去做。 如果你不想安装Node.js,search一个你可以挂载你的应用程序的图片,并启动Node.js(也许是上面提到的那个)。 否则,编写你自己的Dockerfile并像在Linux上一样安装Node.js。

如果nano在某些版本的Ubuntu中不起作用,则可以使用vi编辑器