管道输入到 docker 化的 socat 运行 存在于 docker 主机上的套接字上
Pipe input to dockerized socat run on socket present on docker host
我的目标是查询 Haproxy Runtime API using dockerized socat。
以下命令 returns 空结果(/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 运行
遵循 BMitch 的建议“尝试了以下命令,它也有效
echo "-h" | docker run -i -v /var/run/haproxy.stat:/var/run/haproxy.stat alpine/socat stdio /var/run/haproxy.stat
我的目标是查询 Haproxy Runtime API using dockerized socat。
以下命令 returns 空结果(/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 运行
遵循 BMitch 的建议“尝试了以下命令,它也有效
echo "-h" | docker run -i -v /var/run/haproxy.stat:/var/run/haproxy.stat alpine/socat stdio /var/run/haproxy.stat