Hay 2 archivos en /config.
local.json
{ "host": "localhost", "port": 3030, "env": "local" }dev.json
{ "host": "localhost", "port": 3030, "env": "dev" } Cada vez que se ejecuta la aplicación, debe registrar algo como info: Feathers application started on http://localhost:3030 in local , cuyo "local" es la variable env en el archivo de config .
índice.js
/* eslint-disable no-console */ const logger = require('./logger'); const app = require('./app'); const port = app.get('port'); const env = app.get('env'); const server = app.listen(port); process.on('unhandledRejection', (reason, p) => logger.error('Unhandled Rejection at: Promise ', p, reason) ); server.on('listening', () => logger.info('Feathers application started on http://%s:%d in %s', app.get('host'), port, env) ); Traté de configurar NODE_ENV=dev en el contenedor test-web en docker-compose.yml , pero cada vez que ejecuto la aplicación, muestra:
info: Feathers application started on http://localhost:3030 in localpero estoy esperando
info: Feathers application started on http://localhost:3030 in devDockerfile
FROM node:lts-alpine RUN npm install --global sequelize-cli nodemon WORKDIR /server COPY package*.json ./ RUN npm install COPY . . EXPOSE 3030 CMD ["npm", "run", "dev"]docker-compose.yml
version: '2.1' services: test-db: image: mysql:5.7 environment:... volumes: - ./db-data:/var/lib/mysql ports: - 3306:3306 test-web: environment: - NODE_ENV=dev #- DEBUG=* - PORT=3030 build: . command: > ./wait-for-db-redis.sh test-db npm run dev ports: - "3030:3030" volumes: - ./:/server depends_on: - test-dbpaquete.json
... "scripts": { "test": "npm run lint && npm run mocha", "lint": "eslint src/. test/. --config .eslintrc.json --fix", "dev": "nodemon --legacy-watch src/", "start": "node src/", }, ... Actualizar
Revisé la aplicación acoplable y muestra NODE_ENV correcto, pero no puedo obtener los datos del archivo correcto dev.json 
Debe indicar qué archivo para el entorno de desarrollo.
docker-compose --env-file ./dev.json upcuando se ejecuta docker-compose
O definir
env_file: - ./dev.jsony :
environment: - NODE_ENV=dev - HOST_ENV=localhost - PORT_ENV=3030en el archivo docker-compose
y en el archivo nodejs:
logger.info('Feathers application started on http://%s:%d in %s', app.get('host'), port, process.env.NODE_ENV)Referencia: https://docs.docker.com/compose/environment-variables/