在Docker for Mac上访问Docker守护程序远程api

问题描述 投票:6回答:1

我是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容器调用它。

macos docker
1个回答
7
投票

你可以考虑使用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

© www.soinside.com 2019 - 2024. All rights reserved.