docker -H参数可以使docker守护进程在一个特定的IP和端口监听。默认情况下,它将监听 unix:///var/run/docker.sock以仅允许root用户进行本地连接 。您可以将其设置为0.0.0.0:2375或特定的主机IP来授予所有人访问权限,但是不建议这样做,因为这样对于某人获得对运行守护程序的主机的root访问权限是微不足道的。
同样,Docker客户端可用于-H连接到自定义端口。Docker客户端默认将连接到unix:///var/run/docker.sock Linux和tcp://127.0.0.1:2376Windows。
-H 参数接受以下格式的主机和端口分配:
tcp://[host]:[port][path] or unix://path
例如:
tcp://->127.0.0.1启用2376TLS加密时,TCP连接到任一端口,或者2375以纯文本方式时,端口与TCP连接。
tcp://host:2375 ->主机上的TCP连接:2375
tcp://host:2375/path ->主机上的TCP连接:2375,并在所有请求之前添加路径
unix://path/to/socket -> Unix套接字位于 path/to/socket
-H,如果为空,则默认值为与-H传入no相同的值。
-H参数还接受TCP绑定的缩写形式:host:或host:port或:port
在守护程序模式下运行Docker:
$ sudo/dockerd -H 0.0.0.0:5555 &
下载ubuntu图片:
$ docker -H :5555 pull ubuntu
-H例如,如果您想同时监听TCP和Unix套接字,则可以使用多个
# Run docker in daemon mode
$ sudo/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock &
# Download an ubuntu image, use default Unix socket
$ docker pull ubuntu
# OR use the TCP port
$ docker -H tcp://127.0.0.1:2375 pull ubuntu