GNU/Linux >> Znalost Linux >  >> Linux

Instalace docker-ce v Ubuntu 18.04 přeruší internetové připojení hostitele

Takže tady je váš problém:

Docker přiřadil rozsah 172.17.0.1/16 do vašeho docker0 rozhraní. To zahrnuje všechny adresy z 172.17.0.1172.17.255.255 . Všimněte si, že tento rozsah zahrnuje vaše servery DNS (172.17.100.3 a 172.17.100.70 ). Máte problém se směrováním:

Kdykoli se váš hostitel potřebuje dostat k vašim serverům DNS, zjistí, že má rozhraní již ve stejné síti (docker0 ), takže se snaží směrovat pakety pomocí tohoto rozhraní...které samozřejmě nikam nevedou, což je důvod, proč váš DNS přestává fungovat.

Docker nemá jednoduchý mechanismus pro vyloučení rozsahu adres z procesu automatického výběru, takže k vyřešení problému budete pravděpodobně muset udělat dvě věci:

Nejprve explicitně nastavte adresu docker0 ve vašem /etc/docker/daemon.json . Použijte jakoukoli síť, která není v konfliktu s vašimi interními sítěmi. Např.:

{
  "bip": "172.31.0.1/16"
}

Budete muset restartovat Docker.

Dále, abyste zabránili Dockeru ve výběru stejného rozsahu sítě pro uživatelem definovanou síť (kterou vytvoříte explicitně pomocí docker network create nebo implicitně pomocí, např. docker-compose nebo docker stack ... ), vytvořte novou síť a nikdy ji nepoužívejte:

docker network create --subnet 172.17.0.0/16 --config-only do_not_use

To by mělo vyřešit váš problém a zabránit jeho opětovnému oříznutí v budoucnu.

Aktualizovat

Docker ve skutečnosti dokumentuje pravděpodobně lepší způsob, jak toho dosáhnout v části Jak ovlivním rozsahy síťových adres, které Docker zvolí během „vytváření dockerové sítě“?.

To vyžaduje nastavení trvalých statických tras ve vašem systému, které se liší mezi distribucemi Linuxu.


Linux
  1. Instalace Qt 5.5.1 na Ubuntu 14.04 – způsobí chybu Qt.network.ssl na terminálu?

  2. Instalace Dockeru (Ubuntu)

  3. Jak nainstalovat Docker na Ubuntu 18.04?

  1. Jak čistě nastavit síťový docker v Ubuntu Gnome 15.10?

  2. Instalace a používání Dockeru na Ubuntu a Debianu

  3. Přístavní dělník

  1. Jak získat přístup k síťovému jmennému prostoru Docker Container z hostitele

  2. Spuštěný docker na Ubuntu:připojený svazek hostitele nelze zapisovat z kontejneru

  3. Žádné síťové připojení do/z kontejneru Docker CE na CentOS 8