У меня есть требование запустить как Mock API, так и пользовательский интерфейс приложения responsejs. Могу я использовать что-то вроде
CMD /usr/src/api/ npm start ; /usr/src/app/ npm start
после установки npm соответствующих файлов package.json.
Пожалуйста, порекомендуйте.
Спасибо.
Я бы рекомендовал иметь два контейнера, которые работают в сетевом драйвере Swarm, чтобы они оба могли соединяться вместе, не рекомендуется запускать несколько процессов внутри одного контейнера, но есть способы добиться этого.





Хотя это возможно, решение с двумя контейнерами на самом деле было бы проще:
поскольку npm start, вероятно, блокирует, его необходимо перевести в фоновый режим, иначе вы не сможете запустить второй npm start. Но перевод серверов в фоновый режим приведет к остановке контейнера, поскольку больше не будет запущенных процессов переднего плана, и контейнер выйдет.
Таким образом, в дополнение к необходимости их фонового изображения вам нужно будет добавить способ, чтобы контейнер не выходил.
Спасибо за ваш ответ. Я даже попытался запустить запуск Mock_API npm в фоновом режиме и часть пользовательского интерфейса с помощью команды CMD. Но по-прежнему загружается только часть пользовательского интерфейса, а API - нет. Я как бы задаюсь вопросом, какой вариант можно запустить. Помимо работы в двух отдельных контейнерах, могу я узнать, как их связать ???
вы можете поместить их в одну сеть с помощью --network <network_name>. docker-compose сделает это автоматически
Спасибо за ответ Уку Лоскит. Не могли бы вы помочь мне с примером.
да, можно. Просто убедитесь, что оба они работают на разных портах.