Двунаправленная связь с 'docker exec -it bash <container_id>' с использованием docker-py
Я не могу понять, как включить асинхронный ввод-вывод с помощью сеанса оболочки контейнера, используя docker-py SDK. То, чего я, по сути, пытаюсь достичь - это иметь рабочий эквивалент docker exec -it bash $container_id
в докер-ру.
Очевидно, stdout не создает проблем. Просто нет (на первый взгляд очевидного) способа на самом деле писать в stdin для взаимодействия с оболочкой запущенного контейнера. Это действительно так?
cmd = "bash"
cli = docker.DockerClient()
cli.containers.get(container_id)
socket = cli.exec_run(cmd, stdin=True, socket=True)
socket.writable() # => False
Я тоже пробовал бегать 'bin/bash -c "export TERM=xterm; exec bash"
как cmd и добавление tty
флаг exec_run. Излишне говорить, что безрезультатно.
Я делаю что-то неправильно?