DOCKER容器和主机上的运行时内核参数不一致

时间:2015-03-31 20:35:06

标签: hadoop docker ibm-cloud sysctl biginsights

我的主机在Ubuntu 14.04.2 LTS上,我正在使用最新的centos基础映像来创建IBM InfoSphere BigInsights的DOCKER映像,以便将其推送到Bluemix Container Cloud。

我几乎已经解决了所有问题,但我仍然坚持使用sysctl设置运行时内核参数,因为它们的值不正确并且安装程序会抱怨。

sysctl -a |grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768    61000

当然无法在DOCKER容器中设置它们,我收到以下错误:

sysctl -w net.ipv4.ip_local_port_range="1024 64000"
sysctl: setting key "net.ipv4.ip_local_port_range": Read-only file system

所以我在主机系统上设置了参数:

sudo sysctl -w net.ipv4.ip_local_port_range="1024 64000"
net.ipv4.ip_local_port_range = 1024 64000

sudo sysctl -a |grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 1024 64000

我甚至重建了整个图像并重新创建了容器,但仍然在DOCKER容器内:

sysctl -a |grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768    61000

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要重新加载sysctl。尝试使用以下命令之一(它们取决于您的操作系统)

sudo /etc/rc.d/sysctl reload

sudo sysctl -p /etc/sysctl.conf