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

我的主机位于Ubuntu 14.04.2 LTS上,我正在使用最新的centos基础映像来创buildIBM 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 

我甚至重build了整个图像,重新创build容器,但仍然在我得到的DOCKER容器中:

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

有任何想法吗?

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

sudo /etc/rc.d/sysctl reload

要么

sudo sysctl -p /etc/sysctl.conf