【问题标题】:docker dns for set of running containersdocker dns 用于一组正在运行的容器
【发布时间】:2018-04-25 22:07:15
【问题描述】:

我有一个在 $PORT 上提供给定服务的 docker 映像。

当使用 docker-compose 运行此容器的多个实例时,我可以使用 dig 从网络内部访问它们的所有 ip(其他 dns 工具可用)。

如何从 docker 命令行客户端和 python 库中获得相同的结果?

【问题讨论】:

    标签: docker dns docker-compose containers


    【解决方案1】:

    实现此目的的一种方法是使用别名connect the docker containers to a network,您可以使用相同别名将多个容器连接到同一个网络,然后可以在对 dns 查找的响应中看到这些。

    $ docker create network --name test-nwk
    $ docker run --name test-service-1 busybox
    $ docker run --name test-service-w busybox
    $ docker network connect test-nwk test-service-1 --alias test-service
    $ docker network connect test-nwk test-service-2 --alias test-service
    

    现在,当您将另一个容器连接到该网络时,您可以在域 test-service 中看到它们都可见

    $ docker run -it --name test busybox sh
    / # nslookup test-service
    Server:    127.0.0.11
    Address 1: 127.0.0.11
    
    Name:      test-service
    Address 1: 172.18.0.3 test-service-2.test-nwk
    Address 2: 172.18.0.2 test-service-1.test-nwk
    

    【讨论】:

    • 不应该是 docker network create test-nwk 吗?
    • 另外,当我执行 nslookup test-service 时,我得到 Can't find test-service.mydomain.de: No answer
    猜你喜欢
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    相关资源
    最近更新 更多