1、拷貝express應用目錄拷到服務器某個目錄,如/home/leyi/front_app_docker
2、新建一個pm2的配置文件preocess.json,配置如下:
{
"apps" : [{
"name" : "appName", //應用名稱
"script": "./bin/www", //程序入口
"cwd": "./", //根目錄
"watch":[
"bin",
"public",
"routes",
"views"
],//需要監控的目錄
"error_file":"./logs/app-err.log",//錯誤輸出日志
"out_file":"./logs/app-out.log", //日志
"log_date_format":"YYYY-MM-DD HH:mm Z" //日期格式
}]
}
3、新建Dockerfile文件,配置如下:
# 依賴pm2鏡像
FROM keymetrics/pm2:latest-alpine
# Bundle APP files
RUN mkdir -p /home/front_app_dir
WORKDIR /home/front_app_dir
# Bundle app source
COPY . /home/front_app_dir
RUN npm install
# 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-runtime", "start", "process.json" ]
4、構建鏡像 docker build -t appName .
5、docker run -d -p 8888:3000 鏡像id
6、docker ps 查看已啟動的容器 docker images -a 列出所有鏡像