Docker on Mac上的Remote API 远程控制

Docker提供了Remote API,可以通过REST接口进行Docker服务的控制,包括pull/push等所有操作,结果与本机的操作完全一样。使用Docker Remote API可以通过脚本进行Docker集群的自动化控制。

但是在MacOS上的Docker on Mac(不是老版的Boot2Docker,这个设置有很大的不同。)却没有提供相应的设置(Linux已经可以了),怎么办呢?

使用 socat

  • 安装socat:
brew install socat
  • 启动socat:
$ socat -d TCP-LISTEN:2375,range=127.0.0.1/32,reuseaddr,fork UNIX:/var/run/docker.sock

开放全部端口:

$ 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 socat

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 proxy

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/2

转载于:https://my.oschina.net/u/2306127/blog/777695

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
远程控制 Docker,你可以使用 Docker 的远程 API 或者 Docker Machine。这里我将简要介绍这两种方法。 1. Docker 远程 API: - 首先,确保在 Docker 主机上启用了远程访问。你可以编辑 Docker 的配置文件 `daemon.json`,将其中的 `"hosts"` 设置为 `"unix:///var/run/docker.sock", "tcp://<your-ip>:<port>"`,其中 `<your-ip>` 是 Docker 主机的 IP 地址,`<port>` 是你想要设置的端口号。 - 重启 Docker 服务以使配置生效。 - 确保你的防火墙允许从远程主机访问 Docker 主机的指定端口。 - 现在你可以使用 Docker 的远程 API 进行远程控制。你可以使用任何支持 HTTP 请求的工具(如 cURL 或 Postman)发送请求到 `<your-ip>:<port>`。 2. Docker Machine: - Docker Machine 是 Docker 官方提供的一个命令行工具,用于在远程主机上安装和管理 Docker 环境。 - 首先,安装 Docker Machine 工具。 - 使用命令 `docker-machine create --driver <your-driver> <machine-name>` 创建一个远程 Docker 主机,其中 `<your-driver>` 是你想要使用的驱动程序(如 VirtualBox、AWS 等),`<machine-name>` 是你给这个远程主机起的名称。 - 运行命令 `docker-machine env <machine-name>` 获取远程主机的环境变量配置,并将其导入到当前终端会话中。 - 现在你可以在本地终端上使用 Docker 命令,实际上是在远程主机上执行。 希望这些信息能帮到你!如有更多问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值