我正在尝试了解 Docker 以及如何将其用于开发目的。我正在Windows 10环境上进行开发。我有一个基本问题,在 Nodejs 上进行开发时,假设您修改了 .js 文件。是在宿主机(Windows机器)上修改然后push到docker容器上,还是修改Docker容器本身上的文件?如果我修改 Docker 容器上的文件,我该怎么做?
最佳答案
您可以在舒适的主机环境(Windows 10 或您喜欢的任何环境)中修改源代码,然后使用 Dockerfile 将源代码复制
到容器中。特别是,对于 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 的文件,列出其依赖项并定义其 start script .
+ 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
关于node.js - Windows 10下Docker上的Nodejs开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469720/