GNU/Linux >> Znalost Linux >  >> Linux

Ladění jádra pomocí Privileged Docker Container

Toto konkrétní nastavení spadá pod vliv síťového jmenného prostoru, ve kterém docker běží.

Obecně platí /proc mění nastavení, která jsou relevantní pro celý systém, technicky vzato, ale měníte nastavení v /proc/net který vrací výsledky na bázi jmenného prostoru sítě.

Všimněte si, že /proc/net je ve skutečnosti symbolický odkaz na /proc/self/net protože skutečně odráží nastavení jmenného prostoru, ve kterém pracujete.


Docker 1.12+ má nativní podporu pro ladění hodnot sysctl uvnitř kontejnerů. Zde je výňatek z dokumentace:

Konfigurujte parametry jádra se jmenným prostorem (sysctls) za běhu

--sysctl nastavuje jmenné parametry jádra (sysctls) v kontejneru. Chcete-li například zapnout předávání IP v oboru názvů sítě kontejnerů, spusťte tento příkaz:

docker run --sysctl net.ipv4.ip_forward=1 someimage

Použijte váš příklad, správný způsob, jak zvýšit net.core.somaxconn by bylo:

docker run ... --sysctl net.core.somaxconn=65535 ...

Privilegovaný kontejner stále používá svůj vlastní jmenný prostor procesu pro /proc . Co můžete udělat, je připojit skutečný /proc uvnitř kontejneru:

docker run --rm --privileged -v /proc:/host-proc ubuntu:latest \
  'echo 65535 > /host-proc/sys/net/core/somaxconn'

Linux
  1. Trasování jádra pomocí trace-cmd

  2. Jak nasadit kontejner nginx s Dockerem na Linode

  3. Úvod do Dockeru

  1. Jak opustit kontejner Docker

  2. Předat hostitelský port do kontejneru dockeru

  3. Prozkoumání systému souborů kontejneru Docker

  1. Jak nainstalovat WordPress s Dockerem na Ubuntu

  2. Nainstalujte ModSecurity s Apache v kontejneru Docker

  3. Vytváření vláken se nezdaří s „Prostředky dočasně nedostupné“ s jádrem 4.3