如何在docker-compose中使用dnsdock?

3
我尝试使用dnsdock在docker-compose环境中连接容器。
dnsdock:
    image: tonistiigi/dnsdock
    volumes:
        - /var/run/docker.sock:/run/docker.sock
    ports:
        - 172.17.42.1:53:53/udp

pinger1:
  image: gliderlabs/alpine
  command: ping pinger2.pinger2.docker
  dns: 172.17.42.1
  environment:
   - DNSDOCK_NAME=pinger1
   - DNSDOCK_IMAGE=pinger1

pinger2:
  image: gliderlabs/alpine
  command: ping pinger1.pinger1.docker
  dns: 172.17.42.1
  environment:
   - DNSDOCK_NAME=pinger2
   - DNSDOCK_IMAGE=pinger2

在启动过程中,出现了以下问题:
ERROR:无法启动容器7cebbcde6c7ae85faaefd655aeb18a53710588c930888e15bdeb3c7392bda027:在网络桥上创建容器docker_dnsdock_1时失败:启动用户代理程序发生错误:listen udp 172.17.42.1:53:bind:无法分配请求的地址。
使用以下命令进行简单的操作: sudo docker-compose -f dnsdock-test.yml up 也许有人知道配置存在什么问题?

你从哪里得到了 172.17.42.1?使用 net: host 可能更容易为 dnsdock 容器提供服务,然后在服务的 dns 字段中使用 127.0.0.1。这假设您在主机上没有运行另一个 DNS 服务器。 - dnephin
1个回答

3

将ip从172.17.42.1替换为172.17.0.1后,此方法对我有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接