zoukankan      html  css  js  c++  java
  • Docker部署nodejs应用并使用PM2作为守护进程

    环境:centos7.6 Docker version 18.06.0-ce

    mkdir /data
    cd /data
    

     拉取最新keymetrics/pm2:latest-alpine镜像

    docker pull keymetrics/pm2:latest-alpine 

    从github上拉取代码,先要安装git

    git clone https://github.com/keymetrics/pm2-docker-alpine
    

     

    cd /data/pm2-docker-alpine/example-app
    

    编写Dockerfile,WORKDIR:指定容器的工作目录 COPY:将当前目录下的文件拷贝至容器的/home/Service目录下 EXPOSE 3000:暴露容器内的端口为3000

    [root@localhost example-app]# more Dockerfile
    FROM keymetrics/pm2:latest-alpine
    
    # Bundle APP files
    RUN mkdir -p /home/Service
    WORKDIR /home/Service
    COPY . /home/Service
    #COPY src src/
    #COPY package.json .
    #COPY pm2.json .
    
    # Install app dependencies
    ENV NPM_CONFIG_LOGLEVEL warn
    RUN npm install --production
    
    # Show current folder structure in logs
    #RUN ls -al -R
    EXPOSE 3000
    CMD [ "pm2-docker", "start", "pm2.json" ]
    

     构建容器镜像,注意最后有个点

    docker build -t test_nodepm2 .
    

     查看构建成功的镜像

    docker images

    启动容器,并将容器的/home/Service映射到宿主机的/data/pm2-docker-alpine/example-app目录下,便于代码发布,修改

    docker run --name mynodepm2 -d -v /data/pm2-docker-alpine/example-app:/home/Service -p 3000:3000 test_nodepm2
    

     查询容器的运行状态

     

    在浏览器上访问容器所在的服务地址+暴露出来的端口,测试服务是否能正常

    查询项目运行状态

    docker exec -it 8205f9c2f6cd pm2 list

    docker exec -it 8205f9c2f6cd pm2 monit
    

     

    docker exec -it <container-id> pm2 monit	监控每个进程的CPU /使用情况
    docker exec -it <container-id> pm2 list	列出托管流程
    docker exec -it <container-id> pm2 show	获取有关流程的更多信息
    docker exec -it <container-id> pm2 reload all	0秒停机时间重新加载所有应用程序
    

      

    更多命令可以执行--help 查看

    docker exec -it 8205f9c2f6cd pm2 --help
    

     如何进入容器内

    docker exec -it 8205f9c2f6cd /bin/sh

    修改容器内的时区为中国上海,用于和当前时间同步,注意以下所有操作在容器内进行操作

    apk add -U tzdata
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    apk del tzdata
    

     

    参考:https://hub.docker.com/r/keymetrics/pm2 如有疑问可以留言

  • 相关阅读:
    字符串替换
    字符串查找
    字符串比较
    字节与字符串相互转换
    1365. How Many Numbers Are Smaller Than the Current Number
    1486. XOR Operation in an Array
    1431. Kids With the Greatest Number of Candies
    1470. Shuffle the Array
    1480. Running Sum of 1d Array
    【STM32H7教程】第56章 STM32H7的DMA2D应用之刷色块,位图和Alpha混合
  • 原文地址:https://www.cnblogs.com/caidingyu/p/11170524.html
Copyright © 2011-2022 走看看