问题描述
我的目标是使用 dockerized API 查询 Haproxy Runtime socat。
下面的命令返回空结果(/var/run/haproxy.stat
是位于 docker 主机上的 haproxy 套接字)
echo "-h" | docker run -a stdin -a stderr alpine/socat stdio /var/run/haproxy.stat
我尝试通过volume添加haproxy socket,但结果还是空的。
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 run
按照 BMitch 的建议”尝试了下面的命令,效果很好
echo "-h" | docker run -i -v /var/run/haproxy.stat:/var/run/haproxy.stat alpine/socat stdio /var/run/haproxy.stat