Docker 可以监听并处理 3 种 socket 形式的 API 请求,分别是unix
(unix 域协议)、tcp
(tcp 协议)和fd
。
一般来说,在安装好 docker 后,默认就已经开启了unix
socket,并且我们在执行需要有root
权限或者docker
用户组成员才有权限访问。例如:
curl --unix-socket /var/run/docker.sock http://docker/version
添加远程 API 访问接口
编辑 docker 守护进程的配置文件/lib/systemd/system/docker.service
,找到运行主命令的那一行,其内容大致为"ExecStart=/usr/bin/dockerd -H fd:// … "的那一行,给dockerd
命令加参数-H tcp://0.0.0.0:2375
,意思是在 2375 端口开放 API 访问。
例如在我的设备上,配置文件相应的那一行原本为
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
添加参数后变为
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0