У меня есть контейнер докеры узлов, на котором я запускаю dev-сервер.Возможно ли получить доступ к команде ввода bash на рабочем контейнере докера?
В моем файле докер-compose.yml, команда запись:
...
command: start-dev-server
...
Где начать-DEV-сервер указывает на скрипт, который запускает сервер после того, как поставщика установки:
// /usr/local/bin/start-dev-server
#!/usr/bin/env bash
# install node modules if missing
npm i
# start the dev server
npm run start
Итак, когда я запускаю свой контейнер, сервер также запустится.
Я знаю, что я могу получить доступ к емкости в Баш через следующую команду:
docker exec -it my-container bash
Но я не могу остановить или перезагрузить сервер. Есть ли способ получить доступ к ssh с помощью команды? (например, для просмотра журналов сервера или остановки & перезапустите его).
Возможно, я беру это по неправильному пути, потому что команда ввода не должна останавливаться? Итак, в этом случае, есть ли у кого-нибудь решение, которое могло бы позволить мне запустить мой сервер &, управлять им более гибким способом?
Лучшие практики говорят, что вы должны увидеть контейнер в качестве своего сервера. Если вы хотите остановить его, остановите контейнер, если вы хотите его перезапустить, перезапустите контейнер. Ваш сервер должен войти в 'stdout', чтобы вы могли видеть журналы, используя' docker logs my-container'. Итак, вы правы, команда не должна останавливаться, так как она остановит контейнер. Чтобы предложить решение, что вы имеете в виду, когда говорите «управляйте им более гибким способом»? – charli
На самом деле протоколы докеры команд -f my-container полностью то, что я хотел и действительно, чтобы остановить и перезапустить сервер, мне просто нужно использовать команды докеров. Я просто пропустил параметр -f для команды logs, которая позволяет мне видеть журналы в прямом эфире! Спасибо, сэр, вы можете ответить своим комментарием, и я приму ваш ответ! – jiboulex
Спасибо! Я добавил команды докеров и ссылку на лучшие практики Docker – charli