Bird
Raised Fist0
Dockerdevops~5 mins

DNS resolution between containers in Docker - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is DNS resolution between containers in Docker?
It is the process where containers use container names as hostnames to find and communicate with each other automatically within the same Docker network.
Click to reveal answer
beginner
How does Docker enable DNS resolution between containers?
Docker creates an internal DNS server for each user-defined network. Containers connected to this network can resolve each other's names to IP addresses automatically.
Click to reveal answer
beginner
What command creates a user-defined Docker network for DNS resolution?
docker network create my-network
Click to reveal answer
beginner
How do you connect containers to the same network for DNS resolution?
Use the --network option when running containers, for example: docker run --network my-network --name container1 busybox
Click to reveal answer
intermediate
What happens if containers are on the default bridge network regarding DNS resolution?
Containers on the default bridge network cannot resolve each other by name automatically; you must use IP addresses or create a user-defined network.
Click to reveal answer
Which Docker network type supports automatic DNS resolution between containers?
ADefault bridge network
BHost network
CNone network
DUser-defined bridge network
What is the correct command to create a Docker network named 'app-net'?
Adocker network create app-net
Bdocker create network app-net
Cdocker network new app-net
Ddocker create app-net network
How do containers resolve each other's names inside a user-defined network?
AUsing external DNS servers
BUsing Docker's internal DNS server
CUsing hosts file only
DThey cannot resolve names automatically
If two containers are on different user-defined networks, can they resolve each other's names?
AOnly if they share the same image
BYes, always
CNo, DNS resolution works only within the same network
DOnly if they use host networking
Which option connects a container to a specific Docker network?
A--network
B--net-connect
C--link
D--connect-network
Explain how DNS resolution works between Docker containers on the same user-defined network.
Think about how containers find each other by name inside Docker.
You got /4 concepts.
    Describe the steps to enable DNS resolution between two Docker containers.
    Focus on network creation and container startup options.
    You got /4 concepts.

      Practice

      (1/5)
      1. What allows Docker containers on the same user-defined network to communicate using container names instead of IP addresses?
      easy
      A. Using container IP addresses only
      B. Manual editing of /etc/hosts file
      C. Docker's built-in DNS service
      D. Exposing ports to the host machine

      Solution

      1. Step 1: Understand Docker networking basics

        Docker provides a built-in DNS service for containers on the same user-defined network.
      2. Step 2: Recognize how containers resolve names

        Containers use this DNS service to resolve other container names to their IP addresses automatically.
      3. Final Answer:

        Docker's built-in DNS service -> Option C
      4. Quick Check:

        Docker DNS = container name resolution [OK]
      Hint: User-defined networks enable DNS by default [OK]
      Common Mistakes:
      • Assuming default bridge network supports DNS resolution by name
      • Thinking manual /etc/hosts editing is needed
      • Using IP addresses instead of container names
      2. Which Docker command correctly creates a user-defined network named mynetwork?
      easy
      A. docker network create mynetwork
      B. docker create network mynetwork
      C. docker network new mynetwork
      D. docker network build mynetwork

      Solution

      1. Step 1: Recall Docker network creation syntax

        The correct command to create a network is docker network create <name>.
      2. Step 2: Match the command with options

        docker network create mynetwork matches the correct syntax exactly.
      3. Final Answer:

        docker network create mynetwork -> Option A
      4. Quick Check:

        docker network create = create network [OK]
      Hint: Use 'docker network create' to make new networks [OK]
      Common Mistakes:
      • Using 'docker create network' which is invalid syntax
      • Confusing 'new' or 'build' with 'create'
      • Omitting the network name
      3. Given two containers web and db on the same user-defined network, what will be the output of docker exec web ping -c 1 db if db is running?
      medium
      A. ping: unknown host db
      B. PING db (172.18.0.2): 56 data bytes 64 bytes from 172.18.0.2: icmp_seq=0 ttl=64 time=0.123 ms --- db ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss
      C. Error: container 'db' not found
      D. Request timed out

      Solution

      1. Step 1: Understand DNS resolution on user-defined networks

        Containers on the same user-defined network resolve each other's names automatically.
      2. Step 2: Predict ping command output

        Since db is running and reachable, ping will succeed and show reply details.
      3. Final Answer:

        Successful ping output with reply from db's IP -> Option B
      4. Quick Check:

        Same network + running container = ping success [OK]
      Hint: Ping container name works if on same user network [OK]
      Common Mistakes:
      • Expecting 'unknown host' on user-defined network
      • Confusing default bridge network behavior
      • Assuming container must expose ports for ping
      4. You created two containers on the default bridge network but ping db from web returns "unknown host db". What is the likely cause?
      medium
      A. The ping command is not installed in the web container
      B. The db container is stopped
      C. The web container has no network access
      D. Containers are not on a user-defined network, so DNS resolution by name fails

      Solution

      1. Step 1: Recall default bridge network limitations

        Default bridge network does not support automatic DNS resolution by container name.
      2. Step 2: Analyze the error message

        "unknown host db" means DNS lookup failed, likely because containers are not on a user-defined network.
      3. Final Answer:

        Containers are not on a user-defined network, so DNS resolution by name fails -> Option D
      4. Quick Check:

        Default bridge lacks DNS by name [OK]
      Hint: Use user-defined networks for container name DNS [OK]
      Common Mistakes:
      • Assuming default bridge network supports DNS names
      • Ignoring network configuration
      • Blaming container stopped state without checking
      5. You want two containers, app and cache, to communicate by name. You create a user-defined network mynet. Which sequence of commands correctly sets this up?
      hard
      A. docker network create mynet docker run -d --name app --network mynet myappimage docker run -d --name cache --network mynet mycacheimage
      B. docker run -d --name app myappimage docker run -d --name cache mycacheimage docker network create mynet
      C. docker network create mynet docker run -d --name app myappimage docker network connect mynet cache
      D. docker run -d --name app --network bridge myappimage docker run -d --name cache --network bridge mycacheimage

      Solution

      1. Step 1: Create a user-defined network

        Use docker network create mynet to create the network.
      2. Step 2: Run containers attached to the network

        Start both containers with --network mynet to enable DNS resolution by name.
      3. Final Answer:

        Create network first, then run containers with --network mynet -> Option A
      4. Quick Check:

        User-defined network + containers attached = DNS by name [OK]
      Hint: Create network first, then run containers on it [OK]
      Common Mistakes:
      • Running containers before creating network
      • Using default bridge network instead of user-defined
      • Not attaching containers to the same network
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard