管道输入到docker主机上存在的套接字上的docker socat



我的目标是使用码头化socat查询Haproxy Runtime API。

以下命令返回空结果(/var/run/haproxy.stat是位于docker主机上的代理套接字(

echo "-h" | docker run  -a stdin -a stderr alpine/socat stdio /var/run/haproxy.stat

我试图通过volume添加haproxy套接字,但结果仍然是空的。

echo "-h" | docker run  -a stdin -a stderr  -v /var/run/haproxy.stat:/var/run/haproxy.stat alpine/socat stdio /var/run/haproxy.stat

有效的命令是:

echo "-h" | docker run -i -a stdin -a stderr -a stdout -v /var/run/haproxy.stat:/var/run/haproxy.stat alpine/socat stdio /var/run/haproxy.stat

需要将-a stdout-i添加到docker运行的

根据BMitch的建议;在命令下进行了尝试,效果也很好

echo "-h" | docker run -i -v /var/run/haproxy.stat:/var/run/haproxy.stat alpine/socat stdio /var/run/haproxy.stat

最新更新