GNU/Linux >> Tutoriales Linux >  >> Linux

Ajuste del kernel con contenedor Docker privilegiado

Esta configuración particular cae bajo la influencia del espacio de nombres de red en el que se ejecuta Docker.

Como regla general /proc modifica la configuración que es relevante en todo el sistema, técnicamente hablando, sin embargo, está modificando la configuración en /proc/net que devuelve resultados por espacio de nombres de red.

Tenga en cuenta que /proc/net es en realidad un enlace simbólico a /proc/self/net ya que realmente refleja la configuración del espacio de nombres en el que está trabajando.


Docker 1.12+ tiene soporte nativo para ajustar los valores de sysctl dentro de los contenedores. Aquí hay un extracto de la documentación:

Configure los parámetros del kernel con espacio de nombres (sysctls) en tiempo de ejecución

--sysctl establece los parámetros del núcleo con espacio de nombres (sysctls) en el contenedor. Por ejemplo, para activar el reenvío de IP en el espacio de nombres de la red de contenedores, ejecute este comando:

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

Usando tu ejemplo, la forma correcta de subir net.core.somaxconn sería:

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

El contenedor privilegiado todavía usa su propio espacio de nombres de proceso para /proc . Lo que puedes hacer es montar el /proc real dentro del contenedor:

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

Linux
  1. Seguimiento del kernel con trace-cmd

  2. Cómo implementar un contenedor nginx con Docker en Linode

  3. Una introducción a Docker

  4. Cómo salir de un contenedor Docker

  5. Cómo actualizar el contenedor Docker sin tiempo de inactividad

Tutorial de introducción a Azure Docker

Cómo copiar archivos con Docker cp a su Docker Container

Actualización de contenedores Docker con cero o mínimo tiempo de inactividad

Cómo usar SSH en un contenedor Docker

Cómo:Introducción a los contenedores de Windows y Docker

Cómo gestionar contenedores Docker