0
0
Dockerdevops~20 mins

DNS resolution between containers in Docker - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
DNS Resolution Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does Docker DNS resolution work between containers on the same user-defined network?

When two containers are connected to the same user-defined Docker network, how does one container resolve the hostname of the other container?

ADocker uses the host machine's DNS settings to resolve container names.
BContainers must use external DNS servers like 8.8.8.8 to resolve each other's hostnames.
CContainers cannot resolve each other's hostnames unless you manually edit the /etc/hosts file inside each container.
DDocker automatically creates an internal DNS server that resolves container names to their IP addresses within that network.
Attempts:
2 left
💡 Hint

Think about how Docker manages networking internally for containers on the same network.

💻 Command Output
intermediate
2:00remaining
What is the output of 'docker network inspect' for container name resolution?

Given two containers web and db connected to the same user-defined network mynetwork, what key in the output of docker network inspect mynetwork shows the container names and their IP addresses?

Docker
docker network inspect mynetwork
AThe <code>Containers</code> section lists container IDs, names, and IPv4 addresses.
BThe <code>Services</code> section lists container names and IPs.
CThe <code>Endpoints</code> section shows container names and IPs.
DThe <code>Hosts</code> section shows container names and IPs.
Attempts:
2 left
💡 Hint

Look for the section that maps containers to their network details.

Configuration
advanced
2:30remaining
How to enable DNS resolution between containers on different Docker networks?

You have two containers on different user-defined Docker networks. You want them to resolve each other's hostnames. Which configuration allows this?

AManually add entries to each container's /etc/hosts file.
BConnect both containers to a common user-defined network in addition to their existing networks.
CUse the <code>--link</code> flag to link containers across networks.
DSet the <code>--dns</code> flag to the host's DNS server when running containers.
Attempts:
2 left
💡 Hint

Think about how Docker networks isolate containers and how to bridge that isolation.

Troubleshoot
advanced
2:30remaining
Why does DNS resolution fail between containers on the default bridge network?

You have two containers on the default bridge network. One container tries to ping the other by container name but fails. Why?

AThe containers need to have the <code>--dns</code> flag set to enable DNS resolution.
BThe containers must be restarted to refresh DNS entries.
CThe default bridge network does not provide automatic DNS resolution for container names.
DDocker requires containers to be on the same host to resolve names.
Attempts:
2 left
💡 Hint

Consider the difference between the default bridge network and user-defined networks.

Best Practice
expert
3:00remaining
What is the best practice for reliable DNS resolution between containers in a multi-host Docker Swarm cluster?

In a Docker Swarm cluster with multiple hosts, how should you configure services to ensure DNS resolution between containers works reliably?

AUse an overlay network for the services so Docker's internal DNS resolves service names across hosts.
BManually configure each host's /etc/hosts file with all container IPs.
CUse the default bridge network and rely on external DNS servers.
DAssign static IP addresses to containers and use those IPs directly.
Attempts:
2 left
💡 Hint

Think about how Docker Swarm manages networking across multiple hosts.