如何重新安装docker中的proc文件系统作为ar / w系统?

我通过Ubuntu 12.04安装了docker 0.11.1。 我试图在运行命令时将docker中的shmmax从固定值(32 M)更改为更大的值(1G)

sysctl -w kernel.shmmax=1073741824 error: "Read-only file system" setting key "kernel.shmmax" 

这是因为/proc被安装在容器中。

有人可以告诉我如何安装在我的容器r/w来改变它?

我有这样的运气:

 mount -o remount rw /proc/sys sysctl -w [your settings here] 

如果目标是设置sysctl设置,docker已经意识到了这个问题,在1.12以上的版本中,你可以在运行一个docker容器(或者在你的compose文件中)时使用–sysctl标志,它会在运行之前设置容器中的值。

这是可悲的(尚未)集成在码头文件的语法。

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

 docker run --sysctl kernel.shmmax=1073741824 yourimage 

示例docker-compose.yml(必须使用版本2.1):

 version: '2.1' services: app: sysctls: - kernel.shmmax=1073741824 

你没有。 sysctl值并不局限于容器 – 它们影响整个系统,所以容器不能够改变它们。

如果要为此变量设置较高的值,请从主机系统执行此操作。