Я относительно новичок в Docker
и имею веб-сервер node
, который я добавил в docker image
. Мое изображение построено с использованием packer
, поэтому у меня нет Dockerfile
.Запустить приложение узла при запуске контейнера докеров из cli
Мой вопрос: при запуске docker container
в командной строке с docker run -it -d <imageId>
есть ли способ передать команду для запуска моего веб-сервера, который находится в контейнере? Так что-то вроде docker run -it -d <imageId> npm start
Пробовали ли вы, что вы предложили? Запускать run -it -d npm start', он должен работать. За исключением npm ist не в PATH, тогда вы можете попробовать дать абсолютный путь '/ usr/local/bin/npm' или что бы это ни было. –
Я сделал, но контейнер выйдет, как только он запустится. Я также пробовал то, что предлагается в документах (они используют nginx в качестве примера) '$ docker run -d -p 80:80 my_image nginx -g 'daemon off;'' и все же, когда я проверяю, контейнер запущен, он уже вышел. – hyprstack
«npm start» команда, которая фактически запускает службу (и продолжает работать), или запускает сервис, используя init/upstart/systemd/whatever, а затем завершает работу? –