以下内容截取自docker官方文档

地址:https://docs.docker.com/edge/engine/reference/commandline/run/#configure-namespaced-kernel-parameters-sysctls-at-runtime

Configure namespaced kernel parameters (sysctls) at runtime

The --sysctl sets namespaced kernel parameters (sysctls) in the container. For example, to turn on IP forwarding in the containers network namespace, run this command:

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

Note: Not all sysctls are namespaced. Docker does not support changing sysctls inside of a container that also modify the host system. As the kernel evolves we expect to see more sysctls become namespaced.

CURRENTLY SUPPORTED SYSCTLS

  • IPC Namespace:
kernel.msgmax, kernel.msgmnb, kernel.msgmni, kernel.sem, kernel.shmall, kernel.shmmax, kernel.shmmni, kernel.shm_rmid_forced
Sysctls beginning with fs.mqueue.*

If you use the --ipc=host option these sysctls will not be allowed.

  • Network Namespace:
    Sysctls beginning with net.*
    If you use the --network=host option using these sysctls will not be allowed.