Контейнер Docker выходит сразу после запуска при использовании npm init activ-app - PullRequest
9 голосов
/ 21 марта 2020

Я пытаюсь запустить контейнер Docker с реактивным проектом, проект создается с использованием npm init activ-app.

Это мой docker файл

# Specify a base image
FROM node:alpine

WORKDIR /usr/app

# Install some depenendencies
COPY ./package.json ./
RUN npm install
COPY ./ ./

# Default command
CMD ["npm", "run", "start"]

Docker build . успешно создает изображение (с большим количеством npm предупреждений), а затем, когда я запускаю Docker run <image>, это вывод на моем терминале

> mytest@0.1.0 start /usr/app
> react-scripts start

ℹ 「wds」: Project is running at http://172.17.0.2/
ℹ 「wds」: webpack output is served from 
ℹ 「wds」: Content not from webpack is served from /usr/app/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...

Вскоре, когда он достигает Starting the development server... он перестает работать в моем терминале. Если я проверяю Docker ps, я вижу, что контейнеры не запущены, если я запускаю Docker ps -a, я вижу, что контейнер был запущен, а затем немедленно завершен.

Docker logs показывает вывод терминала выше, любой запускается в эту ситуацию? Это только в моем npm проекте init-app init, остальные мои nodejs + express проекты работают с точно таким же docker файлом

Ответы [ 4 ]

9 голосов
/ 23 марта 2020

Я пытался понизить рейтинг, но это не сработало. Что сработало для меня - это файл docker-compose в секторе приложения реакции, который я добавил:

stdin_open: true

Это решение также предлагается здесь: проблема на github

3 голосов
/ 03 апреля 2020

docker run -it -p 80:3000 imagename решить мою проблему.

2 голосов
/ 21 марта 2020

Так что ничего плохого в настройке оказалось, что есть открытая проблема для этого.

https://github.com/facebook/create-react-app/issues/8688

Понижение до 3.4 решает на данный момент

1 голос
/ 20 апреля 2020

Запуск команды с -it работал для меня:

docker run -it -p 3001:3000 Imageid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...