Skip to content

Instantly share code, notes, and snippets.

@nerdyman
Last active October 6, 2020 14:53
Show Gist options
  • Save nerdyman/e486b0e9a3680b79af41d2ff1ba970b3 to your computer and use it in GitHub Desktop.
Save nerdyman/e486b0e9a3680b79af41d2ff1ba970b3 to your computer and use it in GitHub Desktop.

Revisions

  1. nerdyman revised this gist Oct 6, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion fix-docker-dns.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Docker DNS issues on systemd distros

    (Hopefully) fix Docker DNS issues with systemd distros, e.g. `ping: bad address 'google.com'`, `Temporary failure resolving ...` (tested on Arch).
    (Hopefully) fix Docker DNS issues with systemd distros, e.g. `ping: bad address 'google.com'`, `Temporary failure resolving ...`, `EAI_AGAIN` (tested on Arch).

    ## Checklist

  2. nerdyman revised this gist Apr 22, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion fix-docker-dns.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Docker DNS issues on systemd distros

    (Hopefully) fix Docker DNS issues with systemd distros, e.g. `ping: bad address 'google.com'` (tested on Arch).
    (Hopefully) fix Docker DNS issues with systemd distros, e.g. `ping: bad address 'google.com'`, `Temporary failure resolving ...` (tested on Arch).

    ## Checklist

  3. nerdyman renamed this gist May 24, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md → fix-docker-dns.md
    Original file line number Diff line number Diff line change
    @@ -13,7 +13,7 @@
    1. Allow docker network interface through firewall `firewall-cmd --permanent --zone=trusted --change-interface=docker0`
    1. Reload firewall `firewall-cmd --reload`
    1. Restart firewall service `systemctl restart firewalld`
    1. Restart network (I use NetworkManager) `systemctl restart NetworkManger`
    1. Restart network (I use NetworkManager) `systemctl restart NetworkManager`
    1. Kill all the Docker things `docker system prune --all --force`
    1. Restart Docker `systemctl restart docker`
    1. Try ping on image `docker run -it <your-image> cat /etc/resolv.conf`
  4. nerdyman revised this gist May 22, 2019. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion README.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Docker DNS issues on systemd distros

    (Hopefully) fix Docker DNS issues with systemd distros (tested on Arch) (e.g. `ping: bad address 'google.com'`).
    (Hopefully) fix Docker DNS issues with systemd distros, e.g. `ping: bad address 'google.com'` (tested on Arch).

    ## Checklist

  5. nerdyman revised this gist May 22, 2019. 1 changed file with 11 additions and 5 deletions.
    16 changes: 11 additions & 5 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Docker DNS issues on systemd distros

    (Hopefully) fix Docker DNS issues with systemd distros (tested on Arch).
    (Hopefully) fix Docker DNS issues with systemd distros (tested on Arch) (e.g. `ping: bad address 'google.com'`).

    ## Checklist

    @@ -11,9 +11,15 @@
    ## Solution

    1. Allow docker network interface through firewall `firewall-cmd --permanent --zone=trusted --change-interface=docker0`
    2. Reload firewall `firewall-cmd --reload`
    3. Restart network (I use NetworkManager) `systemctl restart NetworkManger`
    4. Kill all the Docker things `docker system prune --all --force`
    5. Restart Docker `systemctl restart docker`
    1. Reload firewall `firewall-cmd --reload`
    1. Restart firewall service `systemctl restart firewalld`
    1. Restart network (I use NetworkManager) `systemctl restart NetworkManger`
    1. Kill all the Docker things `docker system prune --all --force`
    1. Restart Docker `systemctl restart docker`
    1. Try ping on image `docker run -it <your-image> cat /etc/resolv.conf`

    Example test: `docker run busybox ping -c 3 google.com`

    ## Nuclear Solution

    If all else fails try stopping firewalld altogether `systemctl stop firewalld`
  6. nerdyman created this gist May 22, 2019.
    19 changes: 19 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    # Docker DNS issues on systemd distros

    (Hopefully) fix Docker DNS issues with systemd distros (tested on Arch).

    ## Checklist

    1. Host DNS is correct (`/etc/resolv.conf`) and does not contain any invalid nameservers
    2. Ensure DNS resolves correctly (`dig google.com @ipaddress.from.resolvconf.here`)
    3. Ensure Docker container has same config as host `docker run -it <your-image> cat /etc/resolv.conf`

    ## Solution

    1. Allow docker network interface through firewall `firewall-cmd --permanent --zone=trusted --change-interface=docker0`
    2. Reload firewall `firewall-cmd --reload`
    3. Restart network (I use NetworkManager) `systemctl restart NetworkManger`
    4. Kill all the Docker things `docker system prune --all --force`
    5. Restart Docker `systemctl restart docker`

    If all else fails try stopping firewalld altogether `systemctl stop firewalld`