pipe道数据exec_create&标准input/标准输出

我已经重写了这个问题,以更好地沟通我想要实现的目标。

如果我使用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) 

那么如何将“hello”或任何数据传递给exec命令,以便复制CL命令?

顺便说一句,这也适用于本地:

 p = Popen(('docker', 'exec', '-i', 'nginx-ssl', 'sh', '-c', 'cat >text.txt'), stdin=subprocess.PIPE) p.communicate('hello\n') p.stdin.close()