GNU/Linux >> Linux Esercitazione >  >> Linux

Ottimizzazione del kernel con contenitore Docker privilegiato

Questa particolare impostazione è influenzata dallo spazio dei nomi di rete in cui viene eseguita la finestra mobile.

Come regola generale /proc altera le impostazioni rilevanti a livello di sistema, tecnicamente parlando, tuttavia stai modificando le impostazioni in /proc/net che restituisce i risultati in base allo spazio dei nomi di rete.

Nota che /proc/net è in realtà un collegamento simbolico a /proc/self/net poiché riflette davvero le impostazioni dello spazio dei nomi in cui stai lavorando.


Docker 1.12+ ha il supporto nativo per modificare i valori sysctl all'interno dei contenitori. Ecco un estratto dalla documentazione:

Configura i parametri del kernel con spazio dei nomi (sysctls) in fase di esecuzione

--sysctl imposta i parametri del kernel con spazio dei nomi (sysctls) nel contenitore. Ad esempio, per attivare l'inoltro IP nello spazio dei nomi di rete dei contenitori, eseguire questo comando:

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

Usando il tuo esempio, il modo corretto per alzare net.core.somaxconn sarebbe:

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

Il contenitore privilegiato utilizza ancora il proprio spazio dei nomi di processo per /proc . Quello che puoi fare è montare il vero /proc all'interno del contenitore:

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

Linux
  1. Traccia del kernel con trace-cmd

  2. Come distribuire un container nginx con Docker su Linode

  3. Un'introduzione a Docker

  4. Come uscire da un container Docker

  5. Inoltra la porta host al contenitore docker

Introduzione all'esercitazione Docker di Azure

Come copiare file con Docker cp nel tuo Docker Container

Aggiornamento dei contenitori Docker con tempi di inattività pari a zero o minimi

Come SSH in un Docker Container

Procedura:Introduzione a Windows Containers e Docker

Come gestire i container Docker