আমি লোড ব্যালেন্সারের জন্য কার্নেল সেটিংস টিউন করার জন্য একটি ধারক তৈরি করছি। আমি একক সুবিধাযুক্ত ধারক ব্যবহার করে কোনও চিত্রের মধ্যে হোস্টে এই পরিবর্তনগুলি স্থাপন করতে পছন্দ করব। উদাহরণ স্বরূপ:
docker run --rm --privileged ubuntu:latest sysctl -w net.core.somaxconn=65535
পরীক্ষায় পরিবর্তনগুলি কার্যকর হয় তবে কেবল সেই ধারকটির জন্য। আমার ধারণা ছিল যে পুরোপুরি অধিকারযুক্ত ধারক / প্রোকে পরিবর্তন করে আসলে অন্তর্নিহিত ওএস পরিবর্তন করবে।
$docker run --rm --privileged ubuntu:latest \
sysctl -w net.core.somaxconn=65535
net.core.somaxconn = 65535
$ docker run --rm --privileged ubuntu:latest \
/bin/bash -c "sysctl -a | grep somaxconn"
net.core.somaxconn = 128
সুবিধাযুক্ত পাত্রে কী এভাবে কাজ করার কথা?
আমি কি নির্বোধ কিছু করছি?
স্থায়ী পরিবর্তনগুলি করার সর্বোত্তম উপায় কী?
ভার্সন তথ্য:
Client version: 1.4.1
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 5bc2ff8
OS/Arch (client): linux/amd64
Server version: 1.4.1
Server API version: 1.16
Go version (server): go1.3.3
Git commit (server): 5bc2ff8
মাউন্ট / প্রোক সহ উদাহরণ কমান্ড:
$ 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