我正在开发一个简单的NodeJS应用程序。我使用docker,它使部署到生产非常容易。 这是我的Dockerfile:
FROM node
COPY . /src
RUN cd /src; npm install
EXPOSE 3000
CMD ["node", "/src/express.js"]
在我的开发环境中(windows,boot2Docker)Docker正在减慢我的速度,因为对于我所做的每一个小改动,我都必须重新构建Docker镜像并运行容器,这需要几分钟。
我找不到简单地将源文件从主机复制到docker容器的方法。有一个简单的方法吗?我应该在我的开发环境中使用plain nodeJS并且只在生产中使用Docker吗?
谢谢!
答案 0 :(得分:1)
至少在开发过程中,您可以使用docker从Windows操作系统共享文件夹 - 这将使代码调试周期更快。
将主机目录挂载为数据卷: https://docs.docker.com/userguide/dockervolumes/
(约在页面的下方1/2)
答案 1 :(得分:1)
尝试以下方法:
FROM node
COPY ./package.json /src
RUN cd /src && npm install
COPY . src/
EXPOSE 3000
CMD ["node", "/src/express.js"]
您最初拥有它的方式是每次更改src
内的内容时都会安装npm软件包。如果我们将此步骤分开,则只有在package.json
文件更改时才会安装这些软件包。