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()