警告
因为Docker Remote API
默认是不存在加密的,所以请确保在网络安全的环境下进行下列操作.
推荐环境如下:
- 纯内网环境
- 外网:
- 启用TLS认证
- 启用白名单
MacOS
docker for mac
不支持远程访问,需要依赖scoat, 原理图如下所示:
以下两个方法同理, 但是更推荐使用容器的方式启动, 便于管理
基于容器转发
1 | docker run -d --restart=always \ |
brew 安装socat 转发
1 | brew install socat |
CentOS || Ubuntu
1 | # 修改docker Service文件 |
在ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
后面追加入下内容
1 | -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock |
重启守护进程
1 | systemctl daemon-reload |
校验
自行替换实际IP地址
以下方式二选一即可
- curl
1 | curl http://192.168.30.127:2375/info |jq |
输出类似如下:
- docker-client
1 | docker -H 192.168.30.127:2375 images && echo success || echo false |
输出success
即可