Life's random bits By b1thunt3r (aka Ishan Jain)…
Docker: Configure DNS for dockerd

Docker: Configure DNS for dockerd

Ishan jain
Not having access to DNS server can be hard...

Recently I realized, the network security makes it hard to run a local DNS server. When you are inside a container and realize, you are crippled due to the simple fact, there is no DNS. For some reason I was also unable to access the default Hyper-V DNS inside the container.

First I tried to manually replace the nameserver in /etc/resolve.conf. But that didn't help. Then I remembered I was connected to the more secure corp net. For that there was a simple fix:

  • Pull the ethernet cable
  • Disconnect from Corp WiFi
  • Connect to the guest WiFi (yes guest config allows public DNS)

Finally I have DNS resolutions.

But that means I have to replace DNS config in /etc/resolve.conf. Then I remembered that docker has --dns argument. It didn't take much time to realize, docker build doesn't have --dns argument.
Search continues for more permanent solution.

Then today I was in daemon.json for dockerd. As a experiment, I added:

"dns": [
    "1.1.1.1",
    "8.8.8.8"
]

Finally, no need to add --dns argument every time I ran a container at work, and docker build works like charm.
Sometimes, it just pays off to just read the documentation.