Docker | Google Cloud - не срабатывает при запуске реакции - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь докеризовать стек MERN, но когда наступает момент, когда нужно запустить реакцию, контейнер выходит со статусом 0. Это ошибка журнала:

Docker error

Это структура моего проекта:

- project
  - server
    - api
    api.yml
    server.js
    Dockerfile
  - www
    app.yml
    Dockerfile
  docker-compose.yml

Папка www содержит стартовые файлы, которые будут сгенерированы из npx create-react-app www. Содержимое server/Dockerfile равно:

FROM node:latest
RUN mkdir -p /usr/server
WORKDIR /usr/server

RUN npm install -g nodemon

EXPOSE 3000
CMD [ "npm", "start" ]

содержимое www/Dockerfile равно:

FROM node:latest
RUN mkdir -p /usr/www/src/app
WORKDIR /usr/www/src/app

EXPOSE 3000
CMD [ "npm", "start" ]

и, в конце концов, содержимое docker-compose.yml равно:

version: '3.7'
services:
  mongodb:
    image: mongo
    ports:
     - 27017:27017
  api:
    build: ./server/
    ports:
      - "6200:6200"
    volumes:
      - ./server:/usr/server
    depends_on:
      - mongodb
  www:
    build: ./www/
    ports:
      - 3000:3000
    volumes:
      - ./www:/usr/www/src/app
    depends_on:
      - api

Теперь в названии я упоминаю Google Cloud, потому что я пытался распространять различные части "server" и "www" в моей производственной среде. Распределение server работает правильно, но www завершается с ошибкой:

GCloud Error

Ошибки, которые генерируются Docker и Google Cloud кажутся очень похожими или я не прав? Может ли это быть реакцией или я ошибаюсь в обоих случаях?

Я также оставляю содержимое файлов app.yaml и api.yaml. app.yaml

runtime: nodejs
env: flex

# Only for developing
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

handlers:
  - url: /.*
    static_files: build/index.html
    upload: build/index.html
  - url: /
    static_dir: build

Содержимое файла api.yaml такое же, как у app.yaml, но без раздела handlers.

...