我正在运行ShinyProxy(https://www.shinyproxy.io/)本地在我的mac上,以及Docker Desktop for mac。
ShinyProxy需要通过tcp访问Docker守护进程,而不仅仅是通过unix套接字。
需要明确的是,Docker桌面默认绑定到unix:///var/run/docker.sock
。我需要它绑定到http://127.0.0.1:2375
。
我似乎找不到让Docker桌面绑定到tcp端口的方法。以前有人解决过这个问题吗?
好的,根据我的发现,Docker Desktop for Mac没有选择绑定到TCP(我想是出于明显的安全原因(。没有办法改变这一点。所以我找到的解决方法如下:
socat TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock
它基本上将Unix套接字重新路由到tcp端口(仅在本地主机上绑定(。这使我能够通过TCP访问Docker守护进程。