写入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
反正有解决此问题的方法吗?
答案 0 :(得分:0)
对于该特定实例,似乎发生此错误是因为echo
在读取任何stdin之前退出(为什么?)。这导致套接字在传输过程中被关闭。
这是一个令人误解的错误消息/状态,但是在这种情况下确实有意义。小于套接字缓冲区的有效负载可能会导致争用情况,并且只会间歇性地失败而不是总是失败(在这种情况下)。