Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Unraid v7.0.1 Dockers Can't Resolve Internet DNS Names

Featured Replies

I originally upgraded to v7.0 but all my dockers had problems resolving any internet names so I reverted back to v6. I just upgraded to version 7.0.1 thinking it might have fixed the issue but it looks like I had the same problems.  It looks like any DNS name resolution like pinging from within each docker instance to something like google.com is broken in my dockers but pinging to the outside ip 8.8.8.8 works normally.

 

my docker network settings are ipvlan and to allow host to connect to custom networks is enabled. I also tried the macvlan but it did not help. also most of my dockers are in the same custom docker network. It was not until I found some older posts that said to put the --dns 8.8.8.8 into the extra settings of each docker and by doing this it now allowed the dockers to work normally.  connectivity from my desktop to the various docker web gui also works normally as well as the host docker name resolution between the dockers and from what I can tell it is using 127.0.0.11 for that. 

 

I would like to not have to worry about having to remember to put in the --dns entries in every docker I create ;)

 

Is this now normal now with v7x?

 

Thanks

James

nas-diagnostics-20250227-1110.zip

  • Community Expert

Does the dns server 192.168.200.1 actually work? if not, then i would stop overwriting your nameservers with it^^

  • Author

yes that is my main windows domain controller vm in unraid. it is what I set all my computers/devices to use. 

  • Community Expert

What does the domain controller say then? Because docker copies the host resolv.conf to the container upon start and thats the only nameserver they use for it. Im gonna assume the containers can reach it.

I have exactly same problem after upgrading to 7.0.1 

from the terminal I can ping google.com and all my VMs seems fine the issue only with docker

  • Author

do not have anything really configured and using the defaults when the docker network was originally created.

 

Do I need to add the docker networks in the config even though it seems to be working on its own assigning ip's to the dockers already?

 

image.thumb.png.7caef3ee6dd43344cc3097c79dc4b4cd.png

  • Community Expert

No, that should not be needed, the problem would be if they existed with non stander CIDR entries.

  • Community Expert
2 hours ago, KeeWay said:

do not have anything really configured and using the defaults when the docker network was originally created.

 

Do I need to add the docker networks in the config even though it seems to be working on its own assigning ip's to the dockers already?

 

image.thumb.png.7caef3ee6dd43344cc3097c79dc4b4cd.png

Wait a second

You need to enable bridging in the network settings. Your docker container cant communicate with your domain controller vm 

Of course they cannot communicate with the dns server on 192.168.200.1

 

11 hours ago, Mainfrezzer said:

 Im gonna assume the containers can reach it.

🙃


Edit:

So either, you change to br0 and keep everything as it is OR
you fix your go file script to

 

echo nameserver 192.168.200.1 >/etc/resolv.conf
echo nameserver 8.8.8.8 >>/etc/resolv.conf
echo 192.168.200.10 NAS >>/etc/hosts

 

Edited by Mainfrezzer

  • Author

@Mainfrezzer I actually do have bridging enabled on the interfaces for VM's and Dockers, I do not have bridging enabled on the main eth0 which is the main unraid interface. do I need bridging on that interface as well?

 

image.thumb.png.fe74229a11b39d5713945fc5e87991ed.png

image.thumb.png.3abff86429322e4434e4ae62386982df.png

  • Community Expert
2 minutes ago, KeeWay said:

@Mainfrezzer I actually do have bridging enabled on the interfaces for VM's and Dockers, I do not have bridging enabled on the main eth0 which is the main unraid interface. do I need bridging on that interface as well?

 

image.thumb.png.fe74229a11b39d5713945fc5e87991ed.png

image.thumb.png.3abff86429322e4434e4ae62386982df.png

oh thats good. now, with a multi nic setup, im not sure how docker and the vm behaves.

But to check that, can you actually ping 192.168.200.1 from the affected container? 

If you can ping it, check if it actually answers to dns requests. on any alpine distro it would be "apk add bind-tools" to get "dig @192.168.200.1 google.com" running. On a debian container it should be "apt-get install dnsutils" (you might have to restart the container with the --dns flag as the image might not come with dig installed)

  • Author

i just removed the dns extra settings and here is what happens. i can ping an other docker in the same network by name but no other dns to the internet works. the dig command did not work from this docker as it is the binhex-sonarr instance.

 

image.png.f3cca24648b3745fbff05e5486f87b2d.png

  • Community Expert
2 minutes ago, KeeWay said:

i just removed the dns extra settings and here is what happens. i can ping an other docker in the same network by name but no other dns to the internet works. the dig command did not work from this docker as it is the binhex-sonarr instance.

 

image.png.f3cca24648b3745fbff05e5486f87b2d.png

Yeah thats docker doing its thing. Try with a different container where you can test dig. That you can pin 192.168.200.1 is already a good sign. The question is why the dns request fails

  • Author

here is the results of the dig command.

 

image.png.7871adacf99b28eecb3ee2e95968f328.png

 

here is the same dig command on unraid

image.png.34d6caa1993fb6f439810449ca9fbfd4.png

  • Community Expert
3 minutes ago, KeeWay said:

here is the results of the dig command.

 

image.png.7871adacf99b28eecb3ee2e95968f328.png

 

here is the same dig command on unraid

image.png.34d6caa1993fb6f439810449ca9fbfd4.png

Well, then i would suggest finding out why your dns server is not responding to your docker containers. The issue clearly lies with it.

the alternative i mentioned above

changing the go file to 

 

echo nameserver 192.168.200.1 >/etc/resolv.conf
echo nameserver 8.8.8.8 >>/etc/resolv.conf
echo 192.168.200.10 NAS >>/etc/hosts

would allow all docker container to fall back to use 8.8.8.8 and you dont have to include the --dns one.

  • Author

yep that is why I am asking here ;) if I revert back to v6 it all works fine without the extra dns settings.

 

is there a firewall in v7 that maybe got enabled?

  • Community Expert

if anything its a docker change.

I pretty positive docker changed how the networking behaves but i cannot tell definitively. (i might be crazy and recall that it abused the host but ehhh not important)

Docker on v6 is ancient with 24.0.9. on v7 runs 27.0.3. So that a lot of versions to crawl through for changes.

But you should really sort out the dns^^

Edit: Yes, it was changed as it was a CVE fix

Edited by Mainfrezzer

  • Author

I was poking around and I noticed that my eth0 for the docker networks listing shows macvlan and I set my docker network to ipvlan so I wonder if that is the issue. So just for the heck of it I changed my eth0 to bridged yes and now it shows ipvlan and br0 and sure enough my dockers work without the extra settings.  not sure why this is but unless there are major problems with this config I will probably leave it.

 

here is  before the change

image.png.475ff414f139de41b0968e5217a2f8c1.png

 

here is after

image.png.a32e20824d23cb0887a61e502687e5bd.png

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.