Merge pull request #5607 from robmry/v6only/host_gateway_ip

Docs: host-gateway-ip daemon option IPv4+IPv6
This commit is contained in:
Sebastiaan van Stijn 2024-11-29 23:03:48 +01:00 committed by GitHub
commit 61b02e636d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 28 additions and 9 deletions

View File

@ -63,8 +63,8 @@ Options:
-G, --group string Group for the unix socket (default "docker") -G, --group string Group for the unix socket (default "docker")
--help Print usage --help Print usage
-H, --host list Daemon socket(s) to connect to -H, --host list Daemon socket(s) to connect to
--host-gateway-ip ip IP address that the special 'host-gateway' string in --add-host resolves to. --host-gateway-ip list IP addresses that the special 'host-gateway' string in --add-host resolves to.
Defaults to the IP address of the default bridge Defaults to the IP addresses of the default bridge
--http-proxy string HTTP proxy URL to use for outgoing traffic --http-proxy string HTTP proxy URL to use for outgoing traffic
--https-proxy string HTTPS proxy URL to use for outgoing traffic --https-proxy string HTTPS proxy URL to use for outgoing traffic
--icc Enable inter-container communication (default true) --icc Enable inter-container communication (default true)
@ -839,21 +839,34 @@ For details about how to use this feature, as well as limitations, see
The Docker daemon supports a special `host-gateway` value for the `--add-host` The Docker daemon supports a special `host-gateway` value for the `--add-host`
flag for the `docker run` and `docker build` commands. This value resolves to flag for the `docker run` and `docker build` commands. This value resolves to
the host's gateway IP and lets containers connect to services running on the addresses on the host, so that containers can connect to services running on the
host. host.
By default, `host-gateway` resolves to the IP address of the default bridge. By default, `host-gateway` resolves to the IPv4 address of the default bridge,
and its IPv6 address if it has one.
You can configure this to resolve to a different IP using the `--host-gateway-ip` You can configure this to resolve to a different IP using the `--host-gateway-ip`
flag for the dockerd command line interface, or the `host-gateway-ip` key in flag for the dockerd command line interface, or the `host-gateway-ip` key in
the daemon configuration file. the daemon configuration file.
To supply both IPv4 and IPv6 addresses on the command line, use two
`--host-gateway-ip` options.
To supply addresses in the daemon configuration file, use `"host-gateway-ips"`
with a JSON array, as shown below. For compatibility with older versions of the
daemon, a single IP address can also be specified as a JSON string in option
`"host-gateway-ip"`.
```console ```console
$ cat > /etc/docker/daemon.json $ cat > /etc/docker/daemon.json
{ "host-gateway-ip": "192.0.2.0" } { "host-gateway-ips": ["192.0.2.1", "2001:db8::1111"]}
$ sudo systemctl restart docker $ sudo systemctl restart docker
$ docker run -it --add-host host.docker.internal:host-gateway \ $ docker run -it --add-host host.docker.internal:host-gateway \
busybox ping host.docker.internal busybox ping host.docker.internal
PING host.docker.internal (192.0.2.0): 56 data bytes PING host.docker.internal (192.0.2.1): 56 data bytes
$ docker run -it --add-host host.docker.internal:host-gateway \
busybox ping -6 host.docker.internal
PING host.docker.internal (2001:db8::1111): 56 data bytes
``` ```
### Enable CDI devices ### Enable CDI devices

View File

@ -35,8 +35,9 @@ dockerd - Enable daemon mode
[**--fixed-cidr**[=*FIXED-CIDR*]] [**--fixed-cidr**[=*FIXED-CIDR*]]
[**--fixed-cidr-v6**[=*FIXED-CIDR-V6*]] [**--fixed-cidr-v6**[=*FIXED-CIDR-V6*]]
[**-G**|**--group**[=*docker*]] [**-G**|**--group**[=*docker*]]
[**-H**|**--host**[=*[]*]]
[**--help**] [**--help**]
[**-H**|**--host**[=*[]*]]
[**--host-gateway-ip**[=*HOST-GATEWAY-IP*]]
[**--http-proxy**[*""*]] [**--http-proxy**[*""*]]
[**--https-proxy**[*""*]] [**--https-proxy**[*""*]]
[**--icc**[=**true**]] [**--icc**[=**true**]]
@ -244,13 +245,18 @@ $ sudo dockerd --add-runtime runc=runc --add-runtime custom=/usr/local/bin/my-ru
Group to assign the unix socket specified by -H when running in daemon mode. Group to assign the unix socket specified by -H when running in daemon mode.
use '' (the empty string) to disable setting of a group. Default is `docker`. use '' (the empty string) to disable setting of a group. Default is `docker`.
**--help**
Print usage statement
**-H**, **--host**=[*unix:///var/run/docker.sock*]: tcp://[host:port] to bind or **-H**, **--host**=[*unix:///var/run/docker.sock*]: tcp://[host:port] to bind or
unix://[/path/to/socket] to use. unix://[/path/to/socket] to use.
The socket(s) to bind to in daemon mode specified using one or more The socket(s) to bind to in daemon mode specified using one or more
tcp://host:port, unix:///path/to/socket, fd://\* or fd://socketfd. tcp://host:port, unix:///path/to/socket, fd://\* or fd://socketfd.
**--help** **--host-gateway-ip**=[*2001:db8::1234*]
Print usage statement Supply host addresses to substitute for the special string host-gateway in
--add-host options. Addresses from the docker0 bridge are used by default.
Two of these options are allowed, one IPv4 and one IPv6 address.
**--http-proxy***""* **--http-proxy***""*
Proxy URL for HTTP requests unless overridden by NoProxy. Proxy URL for HTTP requests unless overridden by NoProxy.