Рейтинг:0

Невозможно `ssh` и `docker exec` в одной команде

флаг br

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

Я делаю это с моего локального компьютера:

ssh my-site-with-a-docker-engine.example.com docker exec -it my-nice-container bash

Я получаю эту ошибку: «устройство ввода не является TTY»

Вопрос: Как я могу заставить ssh уведомить другую сторону, что мы действительно интерактивный терминал?

Примечание 1:

Если я делаю эту команду "разделенной", она работает:

  1. я первый ssh,
  2. Я тогда изнутри ssh я ввожу докер исполнитель.

Заметка 2:

Неинтерактивные команды работают хорошо. Например, это работает:

ssh [email protected] docker ps -a
Рейтинг:0
флаг br

Найденный. Это было . Первый взгляд на справочную страницу https://linux.die.net/man/1/ssh и поиск слов "терминал" и "интерактивный" не разрешил, поэтому и спросил.

Потом я обнаружил, что " Принудительное выделение псевдотерминала."

Это проверено на работу:

ssh -t мой-сайт-с-докером-engine.example.com docker exec -it мой-хороший-контейнер bash

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.