mac 使用TCP连接docker
在 macOS 上,Docker Desktop 默认不支持直接通过 TCP 端口访问 Docker 守护进程。不过,你可以通过运行一个 socat 容器来实现这一功能。以下是具体步骤:
步骤 1: 拉取 socat 镜像
首先,你需要拉取 socat 镜像:
sh
docker pull alpine/socat
步骤 2: 运行 socat 容器
接下来,运行一个 socat 容器,将 Unix 套接字上的 Docker API 转发到指定的 TCP 端口(例如 2375):
sh
docker run -d --restart=always \
-p 0.0.0.0:2375:2375 \
-v /var/run/docker.sock:/var/run/docker.sock \
alpine/socat \
tcp-listen:2375,fork,reuseaddr,ignoreeof unix-connect:/var/run/docker.sock
步骤 3: 验证 TCP 端口是否开放
你可以使用 netstat 或 lsof 命令来验证 2375 端口是否已经开放:
sh
netstat -an | grep 2375
或者
sh
lsof -i :2375
如果输出中包含 0.0.0.0:2375,则表示 2375 端口已成功开放。
步骤 4: 测试远程连接
你可以使用 curl 或其他工具来测试远程连接是否成功:
sh
curl http://localhost:2375/info
如果一切正常,你会看到 Docker 守护进程的信息。

注意事项
- 安全性:开放 2375 端口可能会带来安全风险,因为该端口上的 Docker API 未加密。建议仅在信任的网络环境中使用,并考虑使用 TLS 加密。
- 防火墙:确保你的防火墙设置允许通过 2375 端口的流量。
通过以上步骤,你可以在 macOS 上通过 TCP 端口访问 Docker 守护进程。
本文来自博客园,作者:margo,转载请注明原文链接:https://www.cnblogs.com/ZMargo/articles/18676706

浙公网安备 33010602011771号