Make other containers use dns-server

I have a container with dns-server

version: "3"
services:
  dns-server:
    container_name: dns-server
    hostname: dns-server
    image: technitium/dns-server:latest
    # For DHCP deployments, use "host" network mode and remove all the port mappings, including the ports array by commenting them
    # network_mode: "host"
    ports:
      - "5380:5380/tcp" #DNS web console (HTTP)
      - "53443:53443/tcp" #DNS web console (HTTPS)
      - "53:53/udp" #DNS service
      - "53:53/tcp" #DNS service
    environment:
      - DNS_SERVER_DOMAIN=dns-server #The primary domain name used by this DNS Server to identify itself.
      - DNS_SERVER_ADMIN_PASSWORD=password #DNS web console admin user password.
      - DNS_SERVER_WEB_SERVICE_HTTP_PORT=5380 #The TCP port number for the DNS web console over HTTP protocol.
      - DNS_SERVER_WEB_SERVICE_HTTPS_PORT=53443 #The TCP port number for the DNS web console over HTTPS protocol.
      - DNS_SERVER_WEB_SERVICE_ENABLE_HTTPS=true #Enables HTTPS for the DNS web console.
      - DNS_SERVER_WEB_SERVICE_USE_SELF_SIGNED_CERT=false #Enables self signed TLS certificate for the DNS web console.
      - DNS_SERVER_ENABLE_BLOCKING=false #Sets the DNS server to block domain names using Blocked Zone and Block List Zone.
      - DNS_SERVER_FORWARDERS=1.1.1.1, 8.8.8.8 #Comma separated list of forwarder addresses.
      - DNS_SERVER_LOG_USING_LOCAL_TIME=true #Enable this option to use local time instead of UTC for logging.
    volumes:
      - config:/etc/dns
    networks:
      - dns-network
    restart: unless-stopped
    sysctls:
      - net.ipv4.ip_local_port_range=1024 65000

volumes:
    config:

networks:
  dns-network:
    name: dns-network
    driver: bridge

Then I have 2 more containers for gitea and jenkins, both use the dns-network network.

version: "3"

networks:
  gitea-network:
    name: dns-network
    external: true

services:
  server:
    image: gitea/gitea:1.17.3
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea-network
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea-network
    volumes:
      - ./mysql:/var/lib/mysql

version: '3'

services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    user: root
    ports:
      - "35000:8080"
    volumes:
      - jenkins_home:/var/jenkins_home
      - /home/david/docker-jenkins/run.sh:/var/jenkins_home/run.sh
      - /home/david/docker-jenkins/ssh-keys:/var/jenkins_home/.ssh
    networks:
      - jenkins-network

networks:
  jenkins-network:
    name: dns-network
    external: true

volumes:
  jenkins_home:

I’d like to use jenkins.webdev inside gitea and gitea.webdev inside jenkins, however both fail to resolve the other’s hostname.

I’ve tried adding dns: dns-server but no luck.

Right now, on gitea I’m getting Delivery: Post "https://jenkins.webdev/gitea-webhook/post": dial tcp: lookup jenkins.webdev on 127.0.0.11:53: server misbehaving and if I try ping from a shell I get ping: bad address 'jenkins.webdev'

Edit: Here’s my sudo docker network inspect dns-network output

[
    {
        "Name": "dns-network",
        "Id": "03498e5502b7a014c6f3d1d72b6940c94009367382d5108c520b50f56c2f5a3a",
        "Created": "2024-04-07T17:42:56.248528108Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.20.0.0/16",
                    "Gateway": "172.20.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "676099268ebbd1c3e02bb5f5a1dc12175e8cce499e74c97c3801305df2c3db31": {
                "Name": "docker-gitea-db-1",
                "EndpointID": "e81ae1733abf14a0992754370108fc0df3655dad71af28cb8c6ed74f756c6503",
                "MacAddress": "02:42:ac:14:00:03",
                "IPv4Address": "172.20.0.3/16",
                "IPv6Address": ""
            },
            "7b4f44a9ba13554723917aa29a20358e4ff1861511fd95b98ef4614a71e9c7e2": {
                "Name": "gitea",
                "EndpointID": "6bb2bbf7716d1a55be181b42e8b668731924b5b2abe95787c47b7295fa04ccea",
                "MacAddress": "02:42:ac:14:00:04",
                "IPv4Address": "172.20.0.4/16",
                "IPv6Address": ""
            },
            "980daf8414bb0f12f954c534c8b64b935396f557e52e7ab3f70961b99afa4290": {
                "Name": "dns-server",
                "EndpointID": "fdafade69db331657b30f02e364c160c8d75a944d5b79c02d055aea1b83dfd99",
                "MacAddress": "02:42:ac:14:00:02",
                "IPv4Address": "172.20.0.2/16",
                "IPv6Address": ""
            },
            "b0e8420a7318ba609bc1e2c626d8675a1eba6e9b7aa292ed69ba16c3cc1f794f": {
                "Name": "jenkins",
                "EndpointID": "73e197a284032fee61b50b1ef7111252ae74665d08e40fc1933abc6aa289418d",
                "MacAddress": "02:42:ac:14:00:05",
                "IPv4Address": "172.20.0.5/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "dns-network",
            "com.docker.compose.project": "docker-dnsserver",
            "com.docker.compose.version": "2.20.3"
        }
    }
]