作者/var/www
在步骤 2中创建:
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 步中犯了错误。
但是,我认为这是一个奇怪的教程。在交互式外壳中构建容器并不是非常可取的。相反,我会使用 Dockerfile 来构建您的图像。你知道如何在(比如说)Ubuntu 上安装 Node.js 吗?如果你这样做,你可以在 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
请注意,我没有使用 Node.js 的经验,只是使用 Docker。所以我没有测试过这些东西,我只是给你一个一般的建议。如果您不想安装 Node.js,请搜索可以挂载您的应用程序并启动 Node.js 的图像(可能是上面提到的那个)。否则,编写自己的 Dockerfile 并安装 Node.js,就像在 Linux 上那样。