通过使用 -H 参数,Docker 守护进程可以在指定的 IP 和端口上进行监听。默认情况下,Docker 监听 unix:///var/run/docker.sock,这意味着仅允许 Root 用户进行本地连接。
此外,Docker 客户端也可以通过 -H 参数连接到自定义端口。默认情况下,Docker 客户端连接到 unix:///var/run/docker.sock(Linux)和 TCP://127.0.0.1:2376(Windows)。
-H 参数接受以下格式的主机和端口配置:
TCP://[host]:[port][path] 或 unix://path
例如:
使用 TCP://127.0.0.1:2376 连接时,启用 TLS 加密,或者使用 TCP://127.0.0.1:2375 进行纯文本连接。
TCP://host:2375 表示通过主机的 TCP 连接到端口 2375。
TCP://host:2375/path 表示通过主机的 TCP 连接到端口 2375,并在所有请求之前附加路径。
unix://path/to/socket 表示 Unix 套接字位于 path/to/socket。
如果 -H 参数为空,则默认值与传入的 -H 值相同。
-H 参数还支持 TCP 绑定的简写形式:host: 或 host:port 或 :port。
在守护进程模式下运行 Docker 的命令为:
$ sudo dockerd -H 0.0.0.0:5555 &
下载 Ubuntu 镜像的命令为:
$ docker -H :5555 pull Ubuntu
例如,如果您希望同时监听 TCP 和 Unix 套接字,可以使用多个 -H 参数:
# 以守护进程模式运行 Docker
$ sudo dockerd -H TCP://127.0.0.1:2375 -H unix:///var/run/docker.sock &
# 下载 Ubuntu 镜像,使用默认的 Unix 套接字
$ docker pull Ubuntu
# 或者使用 TCP 端口
$ docker -H TCP://127.0.0.1:2375 pull Ubuntu
[[[IMG_1]]]
[[[IMG_2]]]
[[[IMG_3]]]
