我的目标是使用码头化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