我是OSX的跑步者Docker,并且无法使Docker远程API工作。
我的情况是这样的:
不,我想使用Jenkins docker-build-step插件来构建一个docker镜像,但我希望它在主机上使用docker守护进程,所以在Jenkins设置中,DOCKER_URL应该是这样的:2375。 (原因是我不想在jenkins容器上安装docker,如果我已经在我的主机上安装了它)。
有没有办法解决这个问题,还是de Docker for Mac目前还不支持这个?我尝试摆弄导出DOCKER_OPTS或DOCKER_HOST选项但仍然在调用http://localhost:2375/images/json时拒绝连接。
基本上问题是关于启用Docker for OSX远程api的问题,用例从Jenkins docker容器调用它。
你可以考虑使用socat。它解决了我的问题,似乎是相似的。
socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock &
这允许您使用以下命令从Docker容器访问macOS主机Docker API:tcp://[host IP address]:2375
在macOS上socat可以像这样安装:
brew install socat
有关此主题的详细讨论,请参见此处:Plugin: Docker fails to connect via unix:// on Mac OS X