gpt4 book ai didi

linux - 如何在 bash 中获取映射到 docker 容器的特定主机名的所有 IP 地址

转载 作者:可可西里 更新时间:2023-11-01 11:47:50 28 4
gpt4 key购买 nike

我正在使用 Docker compose 扩展多个 Redis 容器,并想找到一种方法来获取与 bash 中特定主机名对应的所有 IP 地址。我有 5 个 Redis 容器,它们都有主机名 redis。我尝试了命令 getent hosts redis | awk '{ print $1 }' 希望获得 redis Docker 镜像的所有 IP 地址,但每次它只会返回其中一个。下面是在其中一个 Redis 容器中不使用 awk 运行命令几次的示例输出:

bash-4.4# getent hosts redis
172.16.0.7 redis redis
bash-4.4# getent hosts redis
172.16.0.6 redis redis
bash-4.4# getent hosts redis
172.16.0.5 redis redis
bash-4.4# getent hosts redis
172.16.0.6 redis redis

我想要一种在一个命令中获取所有 IP 地址的方法。有谁知道如何在 bash 中做到这一点?

编辑: 我的问题不同,因为我不是要获取主机的 IP 地址,而是要通过运行 bash 获取与主机名匹配的所有 IP 地址我自己在容器中编写脚本。

最佳答案

我能够使用 dig redis A | 做到这一点grep redis 在容器内。除了一些附加信息外,它还输出所有 IP 地址,所以现在我可以从输出中解析它们并将它们添加到 bash 数组中。

关于linux - 如何在 bash 中获取映射到 docker 容器的特定主机名的所有 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54830162/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com