-H
- unix:///var/run/docker.sock(默认)
- tcp://host:port
- fd://socketfd
(支持远程访问)
#查看是否已经启动了docker服务
ps -ef |grep docker
#使用docker的客户端在与守护进程进行交互
docker version
#输出的server API version就是remote API版本
#使用socket连接
nc -U /var/run/docker.sock
#info:remoteAPI的接口返回docker相关信息
#http:指定协议
GET /info HTTP/1.1
#返回json格式
docker的远程访问
将docker的客户端和守护进程配置在不同的机器上。docker的客户端与守护进程的远程访问。
环境准备:
- 第二台安装docker的服务器
- 修改docker守护进程选项,区别服务器
- 保证clientAPI与serverAPI版本一致
修改服务器端配置
#修改docker守护进程启动选项
-H tcp://host:port
unix:///path/to/socket
fd://* or fd://socketfd
#守护进程默认配置:
-H unix:///var/run/docker.sock
配置server01:
1,修改labels区分(前文有详细代码)
2,修改配置文件,docker默认使用2375端口
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375
#然后加载文件,重启服务
3,得到server01的IP:192.168.x.x
配置server02:
curl http://192.168.x.x:2375/info |grep server
修改客户端配置
配置server02:
docker -H tcp://192.168.x.x:2375 info
- 更改环境变量就像使用本机的docker服务一样
export DOKCER_HOST=“tcp://192.168.x.x:2375”
要回到本机的info模式就把以上的值置空
配置server01:
docker info
#出现错误,解决方案:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
#在ExecStart的基础上加上-H unix:///var/run/docker.sock
#重载配置文件,重启服务