使用docker-py与'docker exec -it bash <container_id>'进行双向通信

big*_*apa 6 python bash docker dockerpy

我似乎无法弄清楚如何使用docker-py SDK启用容器shell会话的async i/o.我本来想要实现的是docker exec -it bash $container_id在docker-py中有一个相同的工作.

显然,stdout没有任何问题.只是没有(明显的)方法来实际写入stdin来与正在运行的容器的shell进行交互.真的是这样吗?

cmd = "bash"
cli = docker.DockerClient()
cli.containers.get(container_id)
socket = cli.exec_run(cmd, stdin=True, socket=True)
socket.writable() # => False
Run Code Online (Sandbox Code Playgroud)

我还尝试'bin/bash -c "export TERM=xterm; exec bash"作为cmd 运行tty并向exec_run 添加标志.毋庸置疑,无济于事.

难道我做错了什么?