4Manuals

  • PDF Cloud HOME

使用Node和Mongo的docker-compose不会同时启动 Download

    尝试使用unix:///var/run/docker.sock 如何删除外部索引并合并内部json Sonarqube与Postgres docker-compose。 Sonarqube无法正常工作 如何在多用户的Mac上设置我的docker gitlab数据文件夹? 如何使用docker文件中的curl在容器中发布json文件 Mocha-无法实现TestFunction接口方法 如何使用ffmpeg创建带下划线的水印文本 如何将自定义错误从Lambda发送到Api网关 如何将MongoDb Stitch连接到Android Studio 使用Node和Python哈希页面源时的区别

症状:

  1. 如果我运行docker-compose run mongo,Mongo可以正常运行
  2. 如果我运行docker-compose run iotmap或docker-compose up,则只有节点启动,而不是Mongo容器加

2a)docker-compose ps不显示任何内容,docker ps显示

e968900e41cc        6e70e14f1339        "/bin/sh -c 'npm sta…"   3 minutes ago       Up 2 minutes        3000/tcp            priceless_hawking

2b)我收到以下错误

(节点:25)UnhandledPromiseRejectionWarning:MongoTimeoutError:服务器选择在30000 ms之后超时     在超时时._onTimeout(/usr/src/app/node_modules/mongodb/lib/core/sdam/server_selection.js:309:9)     在listOnTimeout上(internal / timers.js:537:17)     在processTimers上(internal / timers.js:481:7) (节点:25)UnhandledPromiseRejectionWarning:未处理的承诺被拒绝。引发此错误的原因可能是抛出了一个没有catch块的异步函数,或者是拒绝了一个.catch()无法处理的承诺。要在未处理的承诺拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict(请参见https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝ID:1) (节点:25)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。 错误:正在中止。

docker-compose.yml:

volumes:
  mongodata:
services:
  iotmap:
    container_name: iotmap
    build: .
    restart: always
    ports:
      - "3000:3000"
    links:
      - mongo
    depends_on:
      - mongo
  mongo:
    container_name: mongo
    image: mongo:latest
    restart: always
    ports:
      - "27017:27017"
    volumes:
     - mongodata:/data/db

和Dockerfile:

FROM node:latest
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install --no-optional --no-shrinkwrap --no-package-lock
COPY . /usr/src/app
EXPOSE 3000
RUN npm start

和在app.js中:

mongoose.connect( "mongodb://mongo:27017/iotmap", {useUnifiedTopology: true, useNewUrlParser: true, useCreateIndex: true } );

1 个答案:

答案 0 :(得分:0)

将RUN npm start更改为CMD [ "npm", "start" ],一切开始就像一个魅力!



Similar searches
    显示较少的筹码比对 将Ag-Grid企业版与JS框架(React,Vue,Angular)结合使用 如何使用玩笑来测试快速中间件 将标记添加到Date_Dim表以方便按年过滤 Node-Red:如何知道流当前是否已执行?