Løsning på manglende internetforbindelse i Docker-container på Ubuntu 16.04

Hvordan løses problemet med manglende internetforbindelse i Docker-container på Ubuntu 16.04, hvor kommandoer som apt-get update og ping ikke fungerer, men sudo apt-get update fungerer på værtsmaskinen?

Problemer med internetforbindelse i en Docker-container på Ubuntu 16.04 kan løses ved at tjekke Docker-netværksindstillinger, genstarte Docker-tjenesten, justere DNS-indstillinger, inspicere netværkskonfigurationen i containeren, bruge et brugerdefineret netværk, kontrollere firewall-indstillinger og opdatere Docker til nyeste version.

Sådan løses problemet med manglende internetforbindelse i Docker-container på Ubuntu 16.04

Hvis du oplever problemer med internetforbindelsen i en Docker-container på Ubuntu 16.04, hvor kommandoer som apt-get update og ping ikke fungerer, men sudo apt-get update fungerer på værtsmaskinen, kan du følge disse trin for at løse problemet:

1. Tjek Docker-netværksindstillinger

  • Kontroller, om Docker-netværket er korrekt konfigureret.
  • Kør docker network ls for at se en liste over netværk.
  • Brug docker network inspect [network_name] for at inspicere netværksindstillingerne.

2. Genstart Docker-tjenesten

  • Genstart Docker-tjenesten for at sikre, at alle netværksindstillinger er opdaterede.
  • Kør sudo systemctl restart docker.

3. Tjek DNS-indstillinger i Docker

  • Docker kan have problemer med DNS-opløsning.
  • Tilføj en DNS-server i Docker-konfigurationen ved at redigere /etc/docker/daemon.json:
{
  "dns": ["8.8.8.8", "8.8.4.4"]
}
  • Genstart Docker-tjenesten: sudo systemctl restart docker.

4. Tjek netværkskonfiguration i containeren

  • Start en container med interaktiv shell: docker run -it --rm ubuntu /bin/bash.
  • Tjek netværkskonfigurationen inde i containeren:
cat /etc/resolv.conf
ping google.com

5. Brug en brugerdefineret Docker-netværk

  • Opret et brugerdefineret netværk: docker network create my_network.
  • Kør containeren på det brugerdefinerede netværk: docker run --network my_network -it ubuntu /bin/bash.

6. Tjek firewall-indstillinger

  • Firewall-indstillinger på værtsmaskinen kan blokere Docker-trafik.
  • Kontroller og juster firewall-reglerne, hvis nødvendigt.

7. Opdater Docker til nyeste version

  • En ældre version af Docker kan have fejl, der påvirker netværksforbindelsen.
  • Opdater Docker til den nyeste version:
sudo apt-get update
sudo apt-get install docker-ce

Ved at følge disse trin bør du kunne løse problemet med manglende internetforbindelse i din Docker-container på Ubuntu 16.04.