Alex_P97
@Alex_P97
Программист любитель

Манипуляции с процессом в Docker контейнере. Или как получить консоль процесса?

Есть докер контейнер с консольным java приложением. При запуске без докера я получаю в консоле весь лог и возможность писать туда команды(STDIN). Если с отображением логов докер(docker-compose) справляется на ура, то со вводом команд уже происходит что-то не особо приятное. При запуске команды `docker-compose up` я, конечно, вижу весь лог, но отправить команду приложению не могу(что и логично). Это всё осложняется тем, что надо предоставить возможность разным людям (через ssh, допустим) получать доступ к stdin/out/err приложения. Я пробовал делать через `docker attach ...` -- получал пустоту(ибо даже нажатия на клавиши после Ctrl+С были сразу же "выброшены" мне в локальный терминал).

На вскидку я вспомнил только одно: screen. "Тогда будет мне консоль на каждого через `docker-compose exec app screen -x app`" -- подумал я. Не долго думая я занялся написанием скрипта. Но при первом же тесте я получил "Must be connected to a terminal.". Погуглив, я не нашёл внятных решений моей проблемы.

В итоге: у меня есть консолькое приложение, консоль от которого мне надо расшаривать другим людям (через ssh, допустим).

Идеальным было бы что-то на подобие `docker exec -it app get-app-console` или его аналог `docker-compose exec app get-app-console`
  • Вопрос задан
  • 503 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы