在默认桥接网络中,容器可以相互访问by IP。在用户定义的桥接网络中,他们也可以使用names and aliases。此外,您可以明确指定网络 (name-or-alias -> name-or-alias.network)。
列出网络中的别名:
for c in `docker ps -q`; do \
docker inspect "$c" \
-f $'{{range $k, $v := .NetworkSettings.Networks}}{{$k}} {{.Aliases}}\n{{end}}'; \
done | awk '$1 == "<network>"'
输出:
<network> [<alias1> <alias2>...]
...
例如:
prj_default [app 59bb8a265b9b]
...
列出所有网络中的容器名称和别名:
for c in `docker ps -q`; do \
echo -n "`docker inspect "$c" -f '{{.Name}}'` ($c): "; \
docker inspect "$c" \
-f '{{range $k, $v := .NetworkSettings.Networks}}{{$k}} {{.Aliases}} {{end}}'; \
done
输出:
/<container_name> (<container_id>): <network1> [<alias1> <alias2>...] <network2> [<alias1> <alias2>...]...
...
例如:
/prj_app_1 (59bb8a265b9b): prj_default [app 59bb8a265b9b]
...
检查域在容器中解析的内容:
$ getent hosts app
192.168.224.5 app app
列出特定容器的名称和别名:
docker inspect 59bb8a265b9b \
-f '{{.Name}} {{range $k, $v := .NetworkSettings.Networks}}{{$k}} {{.Aliases}} {{end}}'
更多信息here。