Dockerfile 部署 nodejs

Posted Bigberg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockerfile 部署 nodejs相关的知识,希望对你有一定的参考价值。

1.编写.dockerignore

  

  构建镜像时,并不需要node_modules目录等内容,可以使用.dockerignore忽略一些文件  

# .dockerignore

Dockerfile
node_modules/

  

2.编写Dockerfile文件 

FROM mhart/alpine-node:7
LABEL maintainer "test-nodejs.com"

COPY localtime /etc/localtime

WORKDIR /app

COPY package.json /app
RUN apk --update add git \\
    && apk --update add curl \\
    && rm -rf /tmp/* /var/cache/apk/* \\
    && npm install \\
    && npm install -g pm2
COPY . /app

EXPOSE 5000
HEALTHCHECK CMD curl --fail http://localhost:5000/fundation || exit 1

CMD ["pm2", "start", "pm2.json", "--no-daemon"]
  • 设置WORKDIR 
  • 安装git,有些依赖需要从github获取,node基础镜像默认没有git
  • node镜像默认也不带curl
  • 安装pm2,该项目启动使用pm2
  • 暴露端口5000
  • HEALTHCHECH 健康检查
  • pm2启动需要加 --no-daemon

 

以上是关于Dockerfile 部署 nodejs的主要内容,如果未能解决你的问题,请参考以下文章

打包NodeJs-Docker并快速部署

docker & nodejs & mongodb Nodejs 应用简单的访问Mongodb 部署至Docker

nodejs常用代码片段

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

es4x 使用nodejs 开发vertx 应用框架试用

dockerfile部署goweb项目