【发布时间】:2016-08-10 15:13:24
【问题描述】:
假设我有一个简单的 node.js 应用程序。我可以使用这样的简单 Dockerfile 构建一个容器来运行应用程序:
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y nodejs nodejs-legacy npm
COPY . /app
WORKDIR /app
RUN npm install
CMD node index.js
这会将源代码复制到容器中,我可以将其发送到注册表,这没有问题。
但对于开发,我不想为代码中的每一次更改都重新构建容器。所以很自然地,我将卷与 nodemon 结合使用。这是我的问题:
- 如何保持不同的配置?两个dockerfile?将撰写与两个不同的撰写文件一起使用?
- 我主机上的 node_nodules 文件夹与我在容器中需要的文件夹不同(即,一些软件包全局安装在主机上)。我可以从卷中排除它吗?如果是这样,我需要在安装卷后运行 npm install 。我该怎么做呢?
所以我的问题是:我如何将开发环境和部署环境分开。两个 Dockerfile?两个撰写文件?有没有最佳实践?
【问题讨论】:
-
从开发到生产有什么不同?你可以使用环境吗?
标签: node.js docker docker-compose dockerfile