创建一个docker 镜像,相关运行代码,放在docker镜像文件同级,
pm2 不能与 docker一起使用()
# node 服务docker
FROM node:10.16.3LABEL author="sj"RUN mkdir -p /var/nodeCOPY ./node /var/nodeWORKDIR /var/node# 执行命令
RUN npm install pm2 -gRUN npm installRUN pm2 install pm2-logrotateRUN pm2 set pm2-logrotate-ext:retain 3RUN pm2 set pm2-logrotate-ext:max_size 100M# 配置环境变量
ENV HOST 0.0.0.0
ENV PORT 28075EXPOSE 28075CMD pm2 start process.json
屏蔽pm2
FROM node:10.16.3LABEL author="sj"RUN mkdir -p /var/nodeCOPY ./node /var/nodeWORKDIR /var/node#RUN npm installRUN npm -v
RUN node -v
#RUN cd /usr/local/bin/node# 执行命令#UN pm2 install pm2-logrotate#UN pm2 set pm2-logrotate-ext:retain 3#UN pm2 set pm2-logrotate-ext:max_size 100MRUN cd /var/node
RUN npm install# 配置环境变量
ENV HOST 0.0.0.0
ENV PORT 28075EXPOSE 28075CMD node app.js
# Dockerfile是上面的配置文件,node_pm2是镜像名称,1.0是镜像版本,.代表在当前目录打包
docker build -f Dockerfile -t node_pm2:1.0 .# 查看镜像
docker images# 运行 -d 后台运行 -p 指定端口映射 (28075:28075) 表示(本机端口:容器端口)
docker run -d -p 28075:28075 node_pm2:1.0# --restart=always 让进程自动重启
docker run -d --restart=always -p 28075:28075 node_pm2:1.0# 查看容器
docker psdocker ps -a
# 所有容器# 查看日志
docker logs 容器id# 停止容器
docker stop 容器id
# 删除 容器
docker rm 容器id
# 删除镜像
docker rmi 镜像id
引用:
- https://blog.51cto.com/u_39037/7202166
- https://blog.csdn.net/zuggs_/article/details/130953925
- https://devpress.csdn.net/cicd/62edf9bd7e66823466181b25.html