zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    JSON 语法
    AJAX 原理与使用
    SpringMVC MVC 架构模式
    HTTP 协议
    OSI 七层参考模型与 TCP/IP 四层协议
    MyBatis 延迟加载(十四)
    关于JVM调优
    mysql的锁
    spring boot启动原理
    redis相关问题解决
  • 原文地址:https://www.cnblogs.com/bigberg/p/9007325.html
Copyright © 2011-2022 走看看