【发布时间】:2019-07-11 08:37:52
【问题描述】:
写入 docker stdin 会产生错误。
$ head -c 500000 /dev/zero | docker run --rm -i alpine:3.9 echo
read unix @->/var/run/docker.sock: read: connection reset by peer
$ echo $?
1
有没有办法解决这个问题?
【问题讨论】:
-
如果我正确地得到了你想要达到的目标(使 cotainerized 过程重复传递给
docker的 stdin 的内容),你不应该使用echo(读取arguments)但cat(默认读取stdin):echo 123 | docker run --rm -i alpine cat打印123,但与echo相同的命令不打印任何内容。 -
有人提交了错误报告,github.com/docker/cli/issues/1456 我可以使用 Docker-CE 19.03.5 重现错误。 (这似乎与我对 Docker 守护程序不时停止响应 unix 套接字的其他担忧不同)。