mirror of
https://github.com/docker/cli.git
synced 2025-08-08 12:02:07 +03:00
Permit '=' separator and '[ipv6]' in --add-host
Fixes #4648 Make it easier to specify IPv6 addresses in the '--add-host' option by permitting 'host=ip' in addition to 'host:ip', and allowing square brackets around the address. For example: --add-host=my-hostname:127.0.0.1 --add-host=my-hostname:::1 --add-host=my-hostname=::1 --add-host=my-hostname:[::1] To avoid compatibility problems, the CLI will replace an '=' separator with ':', and strip brackets, before sending the request to the API. Signed-off-by: Rob Murray <rob.murray@docker.com>
This commit is contained in:
@@ -454,12 +454,12 @@ Specifying the `--isolation` flag without a value is the same as setting `--isol
|
||||
|
||||
### <a name="add-host"></a> Add entries to container hosts file (--add-host)
|
||||
|
||||
You can add other hosts into a container's `/etc/hosts` file by using one or
|
||||
more `--add-host` flags. This example adds a static address for a host named
|
||||
`docker`:
|
||||
You can add other hosts into a build container's `/etc/hosts` file by using one
|
||||
or more `--add-host` flags. This example adds static addresses for hosts named
|
||||
`my-hostname` and `my_hostname_v6`:
|
||||
|
||||
```console
|
||||
$ docker build --add-host docker:10.180.0.1 .
|
||||
$ docker build --add-host my_hostname=8.8.8.8 --add-host my_hostname_v6=2001:4860:4860::8888 .
|
||||
```
|
||||
|
||||
If you need your build to connect to services running on the host, you can use
|
||||
@@ -467,7 +467,15 @@ the special `host-gateway` value for `--add-host`. In the following example,
|
||||
build containers resolve `host.docker.internal` to the host's gateway IP.
|
||||
|
||||
```console
|
||||
$ docker build --add-host host.docker.internal:host-gateway .
|
||||
$ docker build --add-host host.docker.internal=host-gateway .
|
||||
```
|
||||
|
||||
You can wrap an IPv6 address in square brackets.
|
||||
`=` and `:` are both valid separators.
|
||||
Both formats in the following example are valid:
|
||||
|
||||
```console
|
||||
$ docker build --add-host my-hostname:10.180.0.1 --add-host my-hostname_v6=[2001:4860:4860::8888] .
|
||||
```
|
||||
|
||||
### <a name="target"></a> Specifying target build stage (--target)
|
||||
|
@@ -746,22 +746,28 @@ section of the Docker run reference page.
|
||||
|
||||
You can add other hosts into a container's `/etc/hosts` file by using one or
|
||||
more `--add-host` flags. This example adds a static address for a host named
|
||||
`docker`:
|
||||
`my-hostname`:
|
||||
|
||||
```console
|
||||
$ docker run --add-host=docker:93.184.216.34 --rm -it alpine
|
||||
$ docker run --add-host=my-hostname=8.8.8.8 --rm -it alpine
|
||||
|
||||
/ # ping docker
|
||||
PING docker (93.184.216.34): 56 data bytes
|
||||
64 bytes from 93.184.216.34: seq=0 ttl=37 time=93.052 ms
|
||||
64 bytes from 93.184.216.34: seq=1 ttl=37 time=92.467 ms
|
||||
64 bytes from 93.184.216.34: seq=2 ttl=37 time=92.252 ms
|
||||
/ # ping my-hostname
|
||||
PING my-hostname (8.8.8.8): 56 data bytes
|
||||
64 bytes from 8.8.8.8: seq=0 ttl=37 time=93.052 ms
|
||||
64 bytes from 8.8.8.8: seq=1 ttl=37 time=92.467 ms
|
||||
64 bytes from 8.8.8.8: seq=2 ttl=37 time=92.252 ms
|
||||
^C
|
||||
--- docker ping statistics ---
|
||||
--- my-hostname ping statistics ---
|
||||
4 packets transmitted, 4 packets received, 0% packet loss
|
||||
round-trip min/avg/max = 92.209/92.495/93.052 ms
|
||||
```
|
||||
|
||||
You can wrap an IPv6 address in square brackets:
|
||||
|
||||
```console
|
||||
$ docker run --add-host my-hostname=[2001:db8::33] --rm -it alpine
|
||||
```
|
||||
|
||||
The `--add-host` flag supports a special `host-gateway` value that resolves to
|
||||
the internal IP address of the host. This is useful when you want containers to
|
||||
connect to services running on the host machine.
|
||||
@@ -779,11 +785,17 @@ $ echo "hello from host!" > ./hello
|
||||
$ python3 -m http.server 8000
|
||||
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
|
||||
$ docker run \
|
||||
--add-host host.docker.internal:host-gateway \
|
||||
--add-host host.docker.internal=host-gateway \
|
||||
curlimages/curl -s host.docker.internal:8000/hello
|
||||
hello from host!
|
||||
```
|
||||
|
||||
The `--add-host` flag also accepts a `:` separator, for example:
|
||||
|
||||
```console
|
||||
$ docker run --add-host=my-hostname:8.8.8.8 --rm -it alpine
|
||||
```
|
||||
|
||||
### <a name="ulimit"></a> Set ulimits in container (--ulimit)
|
||||
|
||||
Since setting `ulimit` settings in a container requires extra privileges not
|
||||
|
Reference in New Issue
Block a user