在docker下发布node项目

推荐使用pm2去管理node项目,下面使用docker下的pm2发布node项目

为什么使用pm2容器,而不是直接用node容器?

docker 下node容器的内存管理默认是系统托管,当项目的内存过大时,项目会被停止
而使用pm2时,node项目的内容是由pm2管理的,同时当node停止时,pm2会自动帮你重启项目

1、docker部署(centos7)

这里是参照官方的安装步骤

安装依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 
sudo yum-config-manager --enable docker-ce-edge
sudo yum install docker-ce

启动docker并设置为开机启动

sudo systemctl enable docker
sudo systemctl start docker

docker配置国内镜像

这里使用的是阿里云的镜像加速地址,这个地址是可以免费申请
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
 {
   "registry-mirrors": ["你的镜像加速地址"]
 }
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2、拉取pm2镜像

进入阿里云的容器镜像服务地址

首页

输入pm2搜索

点击需要的镜像查看详情

点击复制地址
docker pull registry.cn-hangzhou.aliyuncs.com/wezchina/centos-pm2-docker

3、启动容器

镜像拉取成功后可以使用 docker images 查看
将node项目放到/usr/local/node-project文件夹下
使用命令启动并共享项目文件夹
docker run -v /usr/local/node-project:/data --net=host -it registry.cn-hangzhou.aliyuncs.com/gtts/pm2 bash

4、启动node项目

文章中使用的docker镜像容器中,node为6.x 版本,如果有需要可以参照 linux下node的安装以及环境配置 修改为所需的node版本
进入容器 docker exec -it [container_id] bash
进入项目文件夹 cd /data/xxxx
启动项目 pm2 start bin/www --name [your project name]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值