创建一个docker 镜像,相关运行代码,放在docker镜像文件同级,
pm2 不能与 docker一起使用()
# node 服务docker
FROM node:10.16.3
LABEL author="sj"
RUN mkdir -p /var/node
COPY ./node /var/node
WORKDIR /var/node
# 执行命令
RUN npm install pm2 -g
RUN npm install
RUN pm2 install pm2-logrotate
RUN pm2 set pm2-logrotate-ext:retain 3
RUN pm2 set pm2-logrotate-ext:max_size 100M
# 配置环境变量
ENV HOST 0.0.0.0
ENV PORT 28075
EXPOSE 28075
CMD pm2 start process.json
屏蔽pm2
FROM node:10.16.3
LABEL author="sj"
RUN mkdir -p /var/node
COPY ./node /var/node
WORKDIR /var/node
#RUN npm install
RUN 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 100M
RUN cd /var/node
RUN npm install
# 配置环境变量
ENV HOST 0.0.0.0
ENV PORT 28075
EXPOSE 28075
CMD 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 ps
docker 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