docker-node-pm2-sails.js启动传递环境参数

docker-node-pm2-sails.js启动传递环境参数

[TOC]

流程:docker run->DockerFile ->docker_start.sh

docker-node-pm2-sails.js启动传递环境参数_第1张图片
mark

docker run

 docker run -e NODE_ENV=test -d -p 1337:1337 noncar:0.1

DockerFile

#FROM 设置镜像
FROM node:8-alpine
# 设置镜像作者
MAINTAINER xumy 
# 创建目录
RUN mkdir -p  /app/csp
# 安装npm模块
ADD package.json /app/csp/package.json
# 安装npm模块
WORKDIR /app/csp
# 使用淘宝的npm镜像
RUN npm install --production -d --registry=http://registry.npm.taobao.org
# 再装pm2
RUN npm install -g pm2 --registry=https://registry.npm.taobao.org
# 添加源代码
ADD . /app/csp/
# 设置环境变量
ENV NODE_ENV test
# 用环境变量启动
CMD /bin/sh ./docker_start.sh $NODE_ENV

docker_start.sh

#!/bin/sh
echo $NODE_ENV
pm2-docker start pm2.json --env $NODE_ENV

sails.js 代码

config.connections.js

  mongo: {
    adapter: 'sails-mongo',
    host: '10.11.1.161', // defaults to `localhost` if omitted
    port: 27017, // defaults to 27017 if omitted
    database: 'cs' // or omit if not relevant
  },
  devmongo: {
    adapter: 'sails-mongo',
    host: '10.2.108.59', // defaults to `localhost` if omitted
    port: 27017, // defaults to 27017 if omitted
    database: 'cs' // or omit if not relevant
  },
  testmongo: {
    adapter: 'sails-mongo',
    host: '10.1.110.74', // defaults to `localhost` if omitted
    port: 27017, // defaults to 27017 if omitted
    database: 'cs' // or omit if not relevant
  }

config.models.js

  //默认本机
  connection: 'mongo

config.env

包括dev.js/prod.js/test.js

config.env.test.js

  models: {
    connection: 'testmongo'
  },

启动验证

# 启动
docker run -e NODE_ENV=test -d -p 1337:1337 noncar:0.1
# 日志
docker logs -f cf

你可能感兴趣的:(docker-node-pm2-sails.js启动传递环境参数)