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

 

转载于:https://www.cnblogs.com/bigberg/p/9007325.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值