部署解析服务器时,docker-compose up命令引发错误

问题描述

我正在尝试在docker中运行我的解析服务器应用程序,但是在运行命令“ docker-compose up”时,它可以正常运行几秒钟,然后引发此错误错误分析命令行:无法识别的选项'--break-mongo'。 然后它还会引发与npm相关的错误-

my-parse-app |
my-parse-app | > app@1.0.0开始/ parse-server
my-parse-app | >解析服务器“ /parse-server/config/config.json”
my-parse-app |
my-parse-app | /parse-server/node_modules/parse/lib/node/ParSEObject.js:1301
my-parse-app |异步存在(选项
my-parse-app | ^^^^^^
my-parse-app |
my-parse-app |语法错误:意外的标识符
my-parse-app |在createScript(vm.js:56:10)
my-parse-app |在Object.runInThisContext(vm.js:97:10)
my-parse-app |在Module._compile(module.js:549:28)
my-parse-app |在Object.Module._extensions..js(module.js:586:10) my-parse-app |在Module.load(module.js:494:32)
my-parse-app |在tryModuleLoad(module.js:453:12)
my-parse-app |在Function.Module._load(module.js:445:3)
my-parse-app |在Module.require(module.js:504:17)
my-parse-app |在要求时(internal / module.js:20:19)
my-parse-app |在对象。 (/parse-server/node_modules/parse/lib/node/ParseRole.js:12:43)
my-parse-app |
my-parse-app | npm ERR! Linux 4.19.128-microsoft-standard
my-parse-app | npm ERR! argv“ / usr / local / bin / node” “ / usr / local / bin / npm”“开始”“-”“ /parse-server/config/config.json”
my-parse-app | npm ERR!节点v6.17.1
my-parse-app | npm ERR! npm v3.10.10
my-parse-app | npm ERR!代码ELIFECYCLE
my-parse-app | npm ERR! app@1.0.0开始:parse-server "/parse-server/config/config.json"
my-parse-app | npm ERR!退出状态1
my-parse-app | npm错误
my-parse-app | npm ERR!在app@1.0.0启动脚本处失败 'parse-server“ /parse-server/config/config.json”'。
my-parse-app | npm ERR!确保您拥有最新版本的 已安装node.js和npm。
my-parse-app | npm ERR!如果这样做,这很可能是一个问题 该应用程序包,
my-parse-app | npm ERR!不是npm本身。
my-parse-app | npm ERR!告诉作者这对您失败 系统:
my-parse-app | npm ERR!解析服务器 “ /parse-server/config/config.json”
my-parse-app | npm ERR!您可以获取有关如何打开 该项目的问题:
my-parse-app | npm ERR! npm bugs应用
my-parse-app | npm ERR!或者,如果无法使用,则可以获取 信息通过:
my-parse-app | npm ERR! npm owner ls应用程序
my-parse-app | npm ERR!可能还有其他日志记录输出 以上。
my-parse-app |
my-parse-app | npm ERR!请在任何文件中包含以下文件 支持请求:
my-parse-app | npm ERR! /parse-server/npm-debug.log
my-parse-app以代码1退出

我的docker-compose:

version: "2"
services:
# Node.js parse-server application image
  app:
    build: ./app
    command: npm start -- /parse-server/config/config.json
    container_name: my-parse-app
    volumes:
    - ./app:/parse-server/
    - /parse-server/node_modules
    ports:
    - "1337:1337"
    links:
    - mongo
# MongoDB image 

  mongo:
    image: mongo:latest
    container_name: mongo-database
    ports:
    - "27017:27017"
    volumes_from:
    - mongodata
# MongoDB image volume for persistence
  mongodata:
    image: mongo
    volumes:
    - ./data/db:/data/db
    command:
    - --break-mongo

我的Dockerfile

FROM node:boron
RUN mkdir -p /parse-server
workdir /parse-server
copY . /parse-server
RUN npm install
EXPOSE 1337
CMD ["npm","start"]

The break-mongo error

The npm error

解决方法

看起来您正在使用旧版本的节点,这可能是问题所在。将docker文件的第一行切换为:

FROM node:erbium