Код: Выделить всё
docker exec -it /bin/bash
Мой чтение документации, кажется, подразумевает, что следующее должно выполнить эту работу:
Код: Выделить всё
import docker
client = docker.from_env()
container, = client.containers.list()
container.exec_run(['/usr/local/bin/bash'], stdin=True, tty=True)
Но это не похоже на стандартный ввод программы подключен к команде exec.
Командная строка просто находится там, повторяя мой ввод, но никак на него не реагируя.
Я также пытался взаимодействовать с необработанным сокетом (возвращаемым exec_run, а не docker.sock):
Код: Выделить всё
_, s = container.exec_run(['/usr/local/bin/bash'], stdin=True, tty=True, socket=True)
s.write('echo hello world')
Вопрос: что мне нужно сделать? сделать, чтобы позволить пользователю моего кода взаимодействовать со стандартным вводом-выводом команды, выполняемой в контейнере, с помощью docker-py?
Подробнее здесь: https://stackoverflow.com/questions/781 ... -docker-py