【发布时间】:2014-12-30 04:48:02
【问题描述】:
我正在尝试创建我的第一个节点 Docker 映像。这是为了一个hubot。这是Dockerfile的基础知识:
FROM ubuntu:14.04
VOLUME /opt
COPY package.json /opt/hubot/
RUN apt-get update && apt-get -y install build-essential nodejs python
RUN npm install -g npm
WORKDIR /opt/hubot/
RUN npm install --prefix /opt/hubot/
COPY app /opt/hubot/app
问题是构建步骤结束后 node_modules 不存在。我可以看到它在构建步骤中被放置在我预期的位置:
make[1]: Entering directory `/opt/hubot/node_modules/aws2js/node_modules/mime-magic'
所以,我知道 Docker 文件有点无状态,这就是为什么“apt update && install”是必要的。但是 something 被遗忘了,否则安装的 apt 位将不会在最后出现。我怎样才能持久化node_modules?
【问题讨论】:
-
尝试删除 VOLUME 声明并试一试。 docs.docker.com/userguide/dockervolumes
-
@user2105103 呃,做到了。我想我不明白 VOLUME 应该如何工作。您可以将其发布为答案吗?我会接受的。
标签: node.js npm docker dockerfile