nat*_*own 5 dns service-discovery docker
我希望能够从docker容器中获取在同一docker网络上运行的所有容器的列表。因为如果我有主机名,内置的docker DNS可以为我提供IP地址,看来它应该能够给我一个主机名列表(也许DNS无法做到这一点,我不知道)。
我想到的用于获取容器列表的其他方法:
docker ps。就安全性而言,这不是一个好主意。--link我相信会将条目用于的用途/etc/hosts。然后,我可以从那里读取它们,但是这种方法无法达到目的,因为启动容器时我必须已经知道主机名。我希望避免使用外部服务发现机制,但是希望获得有关如何获取容器列表的所有建议。
实现这一目标的一种简单方法是在主机中运行一个或多个 docker 命令,以循环获取所需的信息并将其存储在已知位置(例如在 bash 中)
while true; do echo `docker ps --format {{.ID}}` > /SOME/KNOWN/FILE; sleep 5; done
Run Code Online (Sandbox Code Playgroud)
然后让容器使用卷访问该文件。
它比提供对 docker 套接字的访问要安全得多,并且您可以改进它以提供您需要的所有信息(例如带有名称、ip、运行时间等的 json)。
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |