docker -составить выход с кодом 0 для реакции js - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь использовать docker для проекта MERN. Я создал Dockerfile как на клиенте, так и на сервере, а также docker -compose.yml в папке root. Я выполнил код docker -compose build . Он выполнен без ошибок. Затем я запускаю docker -compose up , node и mongodb работают успешно, но реакция js завершается с кодом 0.

Dockerfile для клиента

# build environment
FROM node:12.18.2-alpine

RUN mkdir -p /opt/app/ps-client

WORKDIR /opt/app/ps-client

# install app dependencies
COPY package.json .
# COPY package-lock.json .

RUN npm install

COPY . .

EXPOSE 3000


CMD [ "npm", "run", "start"]

docker -compose.yml

version: "3.8" # specify docker-compose version

# Define the services/ containers to be run
services:
  back-end: # name of the first service
    build: server # specify the directory of the Dockerfile
    ports:
      - "5000:5000" #specify ports mapping
    links:
      - database # link this service to the database service

  database: # name of the third service
    image: mongo # specify image to build container from
    ports:
      - "27017:27017" # specify port forwarding

  front-end: # name of the second service
    build: client # specify the directory of the Dockerfile
    ports:
      - "3000:3000" # specify port mapping

Я пробовал docker -compose --verbose up только для реакции js, результат

docker проверка контейнера b9e429 результат этой команды результат

1 Ответ

0 голосов
/ 14 июля 2020

Попробуйте добавить следующие параметры в конфигурацию службы front-end в файле docker compose.

stdin_open: true
tty: true

Это должно быть эквивалентно запуску контейнера с параметрами -it.

Подробнее о проблеме можно прочитать здесь: https://github.com/facebook/create-react-app/issues/8688

...