Jump to content
salvdordalisdad

Docker has no DNS resolution bridge mode

5 posts in this topic Last Reply

Recommended Posts

Hi Guys,

 

Just hitting a whole bunch of dead ends.

I've googled and found some partial answers, but they don't relate, so asking here optimistically...

Using docker with host mode = AOK, the docker absorbs the /etc/resolv.conf config from the unraid host. 1.1.1.1 etc. and can resolve names.

However - same docker using a vlan via bridged network interface br0:333 (vlan id 333) has only one entry in the /etc/resolv.conf file of 127.0.0.11

That doesn't resolve, but traffic flow is fine - ping works to the outside world.

 

I can add /etc/hosts entries & that's sort of ok until it's restarted! (really very not right!)

Docker.com recommends using --dns=1.1.1.1 as a command line "flag", but I can't relate that to the unraid world.

Can't find the original dockerfile to edit it, and trying to add "variable" to the docker edit screen of "dns" value "1.1.1.1" also doesn't work.

 

Clearly there's a sort of bug thing here, and I have failed to find an adequate workaround.

Suggestions welcome!

Thanks in advance.

 

(btw - I have 3 unraid servers - love them to death, not criticising!)

 

Share this post


Link to post
10 minutes ago, salvdordalisdad said:

Docker.com recommends using --dns=1.1.1.1 as a command line "flag", but I can't relate that to the unraid world.

 

Extra parameters line (switch to advanced view when editing)

Share this post


Link to post
2 hours ago, Squid said:

Extra parameters line (switch to advanced view when editing)

Well, that was interesting, you're most helpful, thanks, much appreciated...(who noticed the "advanced" button before?!)(excellent!)

The interesting part is - it didn't work - but in an interesting way...

Added command line options but only some of them worked.

Tried using the recommended syntax & it didn't work, nothing made it into the resolv.conf file.

Then I tried more options like this line:

--dns=10.0.0.10 --dns=10.0.0.11 --dns-search=example.com

The dns values did NOT make it into the resolv.conf, but the dns-search value DID get propagated, how interesting...

However, I don't know what that means or how to fix it, but it's interesting!

Where's the "dockerfile" with the "from" and the 'script' to make stuff get installed etc?

 

Checking further, ifconfig confirms it's on the right interface, with correct ip-addr inherited from host, and can ping inside & outside world.

Also - not sure if it's important (as it's a tiny docker) there's no directory in /mnt/user/appdata - maybe not needed as it has no file activities.

 

Ideally, of course, I'd prefer to understand how to debug this myself, if poss, (teach a man to fish etc). I would quite like to make some of my own dockers rather than relying on others...

Thanks

 

 

Share this post


Link to post

OOh - just found this how-to-find-out-a-bit-more-about-the-network command (from the unraid CLI):

docker network inspect br0.333
[
    {
        "Name": "br0.333",
        "Id": "c71ca99f22b0b386afe6f48b269c6f61c7fd88f4905a1721a3b20ad585f35c54",
        "Created": "2019-07-07T23:02:56.253031071+01:00",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.200.0/24",
                    "AuxiliaryAddresses": {
                        "server": "192.168.200.3"
                    }
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "0df55d7fe98fe57ecd1b5c9816f4bb6075975a0a795e0d9272d038d60005efa2": {
                "Name": "Cloudflare-DDNS",
                "EndpointID": "1a8a636fb7b8a9ef5d23b3fb3cc5590b8e8ba344897433a3b7e689747ae98141",
                "MacAddress": "02:42:c0:a8:c8:02",
                "IPv4Address": "192.168.200.2/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "parent": "br0.333"
        },
        "Labels": {}
    }
]

 

Any idea where the config for this is - maybe I can force-feed the dns servers from here?

No probably not, I'm just guessing really!

 

TIA

 

Share this post


Link to post

So with no answers, I'm forced to learn a bit about dockers & write my own!

Interesting, so far I've built a basic --dns test & it worked just like the docker website said it would, so I don't know why this one doesn't do that... It'll take me a while to get to grips with it allthen there will be an u[date here.

Share this post


Link to post

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.