Запуск нескольких CMD в dockerfile

У меня есть требование запустить как Mock API, так и пользовательский интерфейс приложения responsejs. Могу я использовать что-то вроде

CMD /usr/src/api/ npm start ; /usr/src/app/ npm start

после установки npm соответствующих файлов package.json.

Пожалуйста, порекомендуйте.

Спасибо.

да, можно. Просто убедитесь, что оба они работают на разных портах.

karan sharma 19.11.2018 06:47

Я бы рекомендовал иметь два контейнера, которые работают в сетевом драйвере Swarm, чтобы они оба могли соединяться вместе, не рекомендуется запускать несколько процессов внутри одного контейнера, но есть способы добиться этого.

Abhijeet Kamble 19.11.2018 07:03
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
1 484
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хотя это возможно, решение с двумя контейнерами на самом деле было бы проще:

поскольку npm start, вероятно, блокирует, его необходимо перевести в фоновый режим, иначе вы не сможете запустить второй npm start. Но перевод серверов в фоновый режим приведет к остановке контейнера, поскольку больше не будет запущенных процессов переднего плана, и контейнер выйдет.

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

Спасибо за ваш ответ. Я даже попытался запустить запуск Mock_API npm в фоновом режиме и часть пользовательского интерфейса с помощью команды CMD. Но по-прежнему загружается только часть пользовательского интерфейса, а API - нет. Я как бы задаюсь вопросом, какой вариант можно запустить. Помимо работы в двух отдельных контейнерах, могу я узнать, как их связать ???

Ranjith 19.11.2018 07:04

вы можете поместить их в одну сеть с помощью --network <network_name>. docker-compose сделает это автоматически

Uku Loskit 19.11.2018 07:12

Спасибо за ответ Уку Лоскит. Не могли бы вы помочь мне с примером.

Ranjith 19.11.2018 07:14

Другие вопросы по теме