在docker上部署nodejs

时间:2014-05-30 07:12:30

标签: docker boot2docker

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

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

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

有人能告诉我如何使用服务器代码修改js文件app.js吗?或者任何更简单的一步一步的appraoch都可以在ubuntu 12.04 docker上部署任何应用程序,请告诉我。

2 个答案:

答案 0 :(得分:4)

作者在第2步中创建/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中构建容器是不可取的。相反,我会使用Dockerfile来构建您的图像。你知道怎么安装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 .构建图像并运行它。

Node.js非常受欢迎,所以您很幸运能找到已经准备好的Node.js图像。您可以转到https://index.docker.io并只搜索合适的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 

请注意,我没有使用Docker的Node.js经验。所以我还没有对这些东西进行测试,我只是给你一个一般的建议如何去做。如果您不想安装Node.js,请搜索可以安装应用程序的图像并启动Node.js(可能是上面提到的那个)。否则,编写自己的Dockerfile并安装Node.js,就像在Linux上一样。

答案 1 :(得分:0)

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