Я настраиваю среду для входа пользователей на машину через 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»? Любой намек?
Спасибо
Эккехард