互联网技术 / 互联网资讯 · 2023年11月16日 0

Docker守护进程端口绑定教程

通过使用 -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]]]