我重写了这个问题,以便更好地传达我想要实现的目标。
如果我使用docker CL,这对我来说非常适合。
echo "hello" | docker exec -i $3 sh -c 'cat >/text.txt'
现在我想使用docker-py并且到目前为止:
ex = cli.exec_create(container='nginx-ssl', cmd='cat >/text.txt')
print cli.exec_inspect(ex)
ls = cli.exec_start(exec_id=ex["Id"], tty=True)
那么如何传递"你好"或者exec命令中的任何数据,以便它复制CL命令?
顺便说一句,这也可以在本地完美运行:
p = Popen(('docker', 'exec', '-i', 'nginx-ssl', 'sh', '-c', 'cat >text.txt'), stdin=subprocess.PIPE)
p.communicate('hello\n')
p.stdin.close()