Estou construindo um contêiner para ajustar as configurações do kernel para um balanceador de carga. Eu preferiria implantar essas alterações no host em uma imagem usando um único contêiner privilegiado. Por exemplo:
docker run --rm --privileged ubuntu:latest sysctl -w net.core.somaxconn=65535
Ao testar as mudanças entram em vigor, mas apenas para esse contêiner. Eu estava com a impressão de que, com um contêiner totalmente privilegiado, as alterações em / proc realmente mudariam o sistema operacional subjacente.
$docker run --rm --privileged ubuntu:latest \ sysctl -w net.core.somaxconn=65535net.core.somaxconn = 65535$ docker run --rm --privileged ubuntu:latest \ /bin/bash -c "sysctl -a | grep somaxconn"net.core.somaxconn = 128
É assim que os contêineres privilegiados devem funcionar?
Estou apenas fazendo algo bobo?
Qual é a melhor maneira de fazer mudanças duradouras?
Informações Da Versão:
Client version: 1.4.1Client API version: 1.16Go version (client): go1.3.3Git commit (client): 5bc2ff8OS/Arch (client): linux/amd64Server version: 1.4.1Server API version: 1.16Go version (server): go1.3.3Git commit (server): 5bc2ff8
Comando de exemplo com montado / proc:
$ docker run -v /proc:/proc ubuntu:latest \ /bin/bash -c "sysctl -a | grep local_port"net.ipv4.ip_local_port_range = 32768 61000$ docker run -v /proc:/proc --privileged ubuntu:latest \ /bin/bash -c "sysctl -p /updates/sysctl.conf"net.ipv4.ip_local_port_range = 2000 65000$ docker run -v /proc:/proc ubuntu:latest \ /bin/bash -c "sysctl -a | grep local_port"net.ipv4.ip_local_port_range = 32768 61000$ docker run -v /proc:/proc --privileged ubuntu:latest \ /bin/bash -c "sysctl -a | grep local_port"net.ipv4.ip_local_port_range = 32768 61000