Многоконтейнерное Docker-приложение не удалось развернуть - PullRequest
0 голосов
/ 28 мая 2018

Итак, у меня проблема с развертыванием приложения на эластичном бобовом стебле в Amazon.Мое приложение представляет собой мультиконтейнерное приложение Docker, которое включает в себя сервер узла и mongoDB внутри него.Каким-то образом приложение каждый раз вылетает, и я получаю эту странную ошибку от mongoDB.Ошибка выглядит следующим образом:

18-05-28T12:53:02.510+0000 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 3867 processes, 32864 files. Number of processes should be at least 16432 : 0.5 times number of files.
2018-05-28T12:53:02.540+0000 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2018-05-28T12:53:02.541+0000 I NETWORK  [initandlisten] waiting for connections on port 27017
2018-05-28T12:53:03.045+0000 I CONTROL  [signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends
2018-05-28T12:53:03.045+0000 I NETWORK  [signalProcessingThread] shutdown: going to close listening sockets...
2018-05-28T12:53:03.045+0000 I NETWORK  [signalProcessingThread] removing socket file: /tmp/mongodb-27017.sock
2018-05-28T12:53:03.045+0000 I FTDC     [signalProcessingThread] Shutting down full-time diagnostic data capture
2018-05-28T12:53:03.047+0000 I STORAGE  [signalProcessingThread] WiredTigerKVEngine shutting down
2018-05-28T12:53:03.161+0000 I STORAGE  [signalProcessingThread] shutdown: removing fs lock...
2018-05-28T12:53:03.161+0000 I CONTROL  [signalProcessingThread] now exiting
2018-05-28T12:53:03.161+0000 I CONTROL  [signalProcessingThread] shutting down with code:0

Это мой файл Dockerrun.aws.json:

{
  "AWSEBDockerrunVersion": 2,
  "volumes":[
    {
      "name": "mongo-app",
      "host": {
        "sourcePath": "/var/app/mongo-app"
      }
    },
    {
      "name": "some-api",
      "host": {
        "sourcePath": "/var/app/some-api"
      }
    }
  ],
  "containerDefinitions": [
      {
        "name": "mongo-app",
        "image": "mongo:latest",
        "memory": 128,
        "portMappings": [
          {
            "hostPort": 27017,
            "containerPort": 27017
          }
        ],
        "mountPoints": [
          {
            "sourceVolume": "mongo-app",
            "containerPath": "/data/db"
          }
        ]
      },
      {
        "name": "server",
        "image": "node:8.11",
        "memory": 128,
        "portMappings": [
          {
            "hostPort": 80,
            "containerPort": 8001
          }
        ],
        "links": [
          "mongo-app"
        ],
        "mountPoints":[
          {
            "sourceVolume": "some-api",
            "containerPath": "/some-data"
          }
        ]
      }
  ]
}

И это мой Dockerfile:

FROM node:8.11
RUN mkdir -p /api
WORKDIR /api
COPY package.json /api
RUN cd /api && npm install
COPY . /api
EXPOSE 8001
CMD ["node", "api/app.js"]

Любые идеипочему приложение падает и не развертывается?Мне кажется, что проблема связана с mongoDB, но я не могу понять или найти корень проблемы.

Заранее спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

Я потратил некоторое время, пытаясь выяснить это.

Решение: Добавьте точку монтирования для "containerPath": "/data/configdb".Mongo ожидает, что сможет записывать как /data/db, так и /data/configdb.

Кроме того, вы можете увеличить "memory": 128 для Mongo до чего-то более высокого.

...