Docker提供了Remote API,能夠經過REST接口進行Docker服務的控制,包括pull/push等全部操做,結果與本機的操做徹底同樣。使用Docker Remote API能夠經過腳本進行Docker集羣的自動化控制。linux
可是在MacOS上的Docker on Mac(不是老版的Boot2Docker,這個設置有很大的不一樣。)卻沒有提供相應的設置(Linux已經能夠了),怎麼辦呢?docker
brew install socat
$ socat -d TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX:/var/run/docker.sock
開放所有端口:api
$ socat -d TCP-LISTEN:2375,reuseaddr,fork UNIX:/var/run/docker.sock
$ curl localhost:2375/version {"Version":"1.11.2","ApiVersion":"1.23","GitCommit":"56888bf","GoVersion":"go1.5.4", "Os":"linux","Arch":"amd64","KernelVersion":"4.4.12-moby", "BuildTime":"2016-06-06T23:57:32.306881674+00:00"}
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 2376:2375 \ bobrik/socat TCP4-LISTEN:2375,fork,reuseaddr UNIX-CONNECT:/var/run/docker.sock
docker run -p 3375:2375 -v /var/run/docker.sock:/var/run/docker.sock \ -d -e PORT=2375 shipyard/docker-proxy
https://forums.docker.com/t/remote-api-with-docker-for-mac-beta/15639/2curl