Windows 10下Docker上的Nodejs开发



我正试图了解Docker以及如何将其用于开发目的。我在Windows10环境下进行开发。我有一个基本的问题,在Nodejs上进行开发时,假设您修改了一个.js文件。您是在主机(Windows机器)上修改它,然后将其推送到docker容器,还是在docker容器本身上修改文件?如果我修改Docker容器上的文件,我该怎么做?

您可以在舒适的宿主环境(windows 10或任何您喜欢的环境)中修改源代码,然后使用Dockerfile将该源代码COPY发送到您的容器中。特别是,对于nodejs,您可以使用如下:

Dockerfile

FROM node:6
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
# replace this with your application's default port
EXPOSE 8888
CMD [ "npm", "start" ]

此图假设您的应用程序有一个名为package.json的文件,列出了它的依赖项并定义了它的启动脚本。

+ my-nodejs-app
|  -Dockerfile
|  -package.json 
|  -server.js
|   ...

最后,您可以构建并运行Docker镜像:

$ cd my-nodejs-app
$ docker build -t my-nodejs-app .
$ docker run -it --rm --name my-running-app -p 8888:8888 my-nodejs-app

或者,您可以将源目录装载为一个卷,并将所有目录缩减为一个命令(在开发阶段很有用):

$ cd my-nodejs-app
$ docker run -it --rm --name my-running-script 
  -v "$PWD":/usr/src/app -w /usr/src/app 
  -p 8888:8888 node:6 npm install && node server.js

装载一个包含您正在处理的代码的卷是您的最佳选择,因此您不会反复运行该过程。

最新更新