Рейтинг:0

Команда Pipe для запуска контейнера докеров через sshd

флаг in

Я настраиваю среду для входа пользователей на машину через ssh. При входе в систему Docker-контейнер создается «на лету» и удаляется, когда пользователь выходит из системы.

Это работает как шарм в интерактивном режиме, но вы не можете отправить команду, например ssh -p 222 [email protected] "эхо бла" к этому. Все, что вы получаете, это устройство ввода не является TTY

Текущая конфигурация:

sshd_config:

Группа соответствия *
    ForceCommand sudo /usr/local/bin/docker_shell.sh

/usr/local/bin/docker_shell.sh:

#!/бин/ш

UID=`id -u`
GID=`id -g`

HOME=`получить пароль $USER | вырезать -d: -f6`

/usr/bin/docker run --rm -w /home/$USER -v $HOME:/home/$USER \
         -v /запустить/mysqld/mysqld.sock:/запустить/mysqld/mysqld.sock \
         --mount type=tmpfs,destination=/tmp,tmpfs-size=10240000,tmpfs-mode=1777 \
         --user $UID:$GID -ti localregistry/shell_custom:0.5

Dockerfile для контейнера shell_custom тривиален:

ОТ альпийского: последний

ЗАПУСТИТЬ apk добавить --no-cache bash && \
    apk добавить --no-cache mysql-клиент

КОПИРОВАТЬ bashrc /etc/profile

CMD ["/bin/bash", "--rcfile", "/etc/profile"]

Теперь, как мне обойти проблему «устройство ввода не является TTY»? Любой намек?

Спасибо

Эккехард

djdomi avatar
флаг za
возможно, вы можете взглянуть на [это] (https://stackoverflow.com/questions/43099116/error-the-input-device-is-not-a-tty)

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

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