首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查看docker网络中的所有域

问如何查看docker网络中的所有域
EN

Stack Overflow用户
提问于 2020-06-26 05:42:42
回答 1查看 91关注 0票数 2

我在码头上有一个装满集装箱的网络。有些是未命名的,可以通过ip找到。其他的是命名的,可以通过dns查找进行访问。

如何查看docker网络中所有可解析的域?如果不能查看全部,如何查看到达某个容器的所有域名?

EN

回答 1

Stack Overflow用户

发布于 2021-11-11 08:17:54

在缺省网桥网络中,容器可以相互访问by IP。在用户定义的网桥网络中,它们也可以使用names and aliases。此外,您还可以显式指定网络(name-or-alias、->、name-or-alias.network)。

列出网络中的别名:

代码语言:javascript
复制
for c in `docker ps -q`; do \
    docker inspect "$c" \
        -f $'{{range $k, $v := .NetworkSettings.Networks}}{{$k}} {{.Aliases}}\n{{end}}'; \
done | awk '$1 == "<network>"'

输出:

代码语言:javascript
复制
<network> [<alias1> <alias2>...]
...

例如:

代码语言:javascript
复制
prj_default [app 59bb8a265b9b]
...

要列出所有网络的容器名称和别名,请执行以下操作:

代码语言:javascript
复制
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

输出:

代码语言:javascript
复制
/<container_name> (<container_id>): <network1> [<alias1> <alias2>...] <network2> [<alias1> <alias2>...]...
...

例如:

代码语言:javascript
复制
/prj_app_1 (59bb8a265b9b): prj_default [app 59bb8a265b9b]
...

要检查容器中域解析的内容,请执行以下操作:

代码语言:javascript
复制
$ getent hosts app
192.168.224.5     app  app

要列出特定容器的名称和别名,请执行以下操作:

代码语言:javascript
复制
docker inspect 59bb8a265b9b \
    -f '{{.Name}} {{range $k, $v := .NetworkSettings.Networks}}{{$k}} {{.Aliases}} {{end}}'

更多关于它的here。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62584772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档