Docker容器无法通过Consul DNS解析服务IP问题求助
Consul+Registrator+HaProxy+Docker环境容器DNS解析异常问题
我正在搭建Consul+Registrator+HaProxy+Docker项目,目前Consul的服务注册/注销功能正常,容器启停时服务能正确完成注册与注销;HaProxy也可正常将流量转发至正确的后端服务器。但容器内的服务DNS解析功能无法正常工作。
可正常运行的操作
- 通过IP地址ping通其他容器;
- 指定Consul DNS服务器IP,使用
dig命令获取服务IP地址(dig @consul_server servicex.service.consul)。
无法正常运行的操作
- 不指定DNS服务器IP,直接使用
dig命令查询(dig servicex.service.consul); - 指定Consul DNS服务器IP,但不带域名后缀查询(
dig @consul_server servicex); - 使用ping命令访问服务名,报错
ping: bad address 'servicex'或ping: bad address 'servicex.service.consul'。
docker-compose配置文件
version: '3.7' services: consul_server: image: consul:1.14.5 container_name: consul_server environment: - SERVICE_NAME=ConsulServer networks: - consul ports: - 8400:8400 # requests from CLI - 8500:8500 # HTTP API requests - 53:53/udp # DNS command: "agent -server -ui -node=server-1 -bootstrap -dns-port=53 -client=0.0.0.0" registrator: image: gliderlabs/registrator:latest container_name: registrator networks: - consul volumes: - /var/run/docker.sock:/tmp/docker.sock environment: - SERVICE_NAME=Registrator command: "-internal=true -cleanup=true consul://consul_server:8500" depends_on: - consul_server haProxy: image: haproxy:2.4 container_name: haProxy sysctls: - net.ipv4.ip_unprivileged_port_start=0 restart: unless-stopped environment: - SERVICE_NAME=HaProxy volumes: - ./haProxy/config/:/usr/local/etc/haproxy:ro ports: - 8080:80 - 1936:1936 networks: - consul depends_on: - consul_server containerA: image: hashicorp/counting-service:0.0.2 container_name: containerA expose: - 9001 dns: - consul_server - 8.8.8.8 dns_search: service.consul environment: - SERVICE_NAME=servicex - SERVICE_TAGS=containerA networks: - consul depends_on: - registrator containerB: image: hashicorp/counting-service:0.0.2 container_name: containerB ports: - 9001 dns: - consul_server - 8.8.8.8 dns_search: service.consul environment: - SERVICE_NAME=servicex - SERVICE_TAGS=containerB networks: - consul depends_on: - registrator networks: consul: driver: bridge
内容的提问来源于stack exchange,提问作者Sven van Zoelen
相关产品推荐
相关产品推荐

