我似乎无法弄清楚如何使用 docker-py SDK 通过容器 shell 会话启用异步 i/o。我本质上想要实现的是docker exec -it bash $container_id
在 docker-py 中有一个等效的工作。
显然,stdout 没有问题。只是没有(非常明显的)方法可以实际写入标准输入以与正在运行的容器的外壳进行交互。真的是这样吗?
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 添加标志。不用说,无济于事。
难道我做错了什么?