node.js - Windows 10下Docker上的Nodejs开发

标签 node.js docker windows-10

我正在尝试了解 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/

相关文章:

node.js - Nodejs 错误 : invalid: inherits@2. 0.0/usr/lib/node_modules/inherits@2

javascript - MongoDB oplog 流 Node.js

node.js - 如何为 Redis/RethinkDB 指定备用公开端口(使用 Docker Compose)?

git - 在 Windows 10 上安装 Git 1.9.5

powershell - 使用参数运行 powershell 并隐藏标志

javascript - 如何在 javascript 中使用带有 eval() 函数的异步等待?

node.js - 使用 body-parser 和 Express 从请求中读取 png 图像

mysql - 远程访问在docker容器上运行的mysql服务器

docker - 无法从中国连接到docker hub