docker 容器:更改网络内核设置,net.core.rmem_max

Posted

技术标签:

【中文标题】docker 容器:更改网络内核设置,net.core.rmem_max【英文标题】:docker container: changing network kernel settings, net.core.rmem_max 【发布时间】:2019-07-23 19:07:22 【问题描述】:

我正在尝试在容器上设置 net.core.rmem_max=26214400

我有这个 docker-compose

    develop:
      sysctls:
       - net.core.rmem_max=26214400
      image: centos6

但是当我这样做时

docker-compose up -d develop

我收到此错误

ERROR: for develop_1  Cannot start service develop: OCI runtime create 
failed: container_linux.go:348: starting container process caused
 "process_linux.go:402: container init caused \"open
 /proc/sys/net/core/rmem_max: no such file or directory\"": unknown

ERROR: for develop  Cannot start service develop: OCI runtime create
 failed: container_linux.go:348: starting container process caused
 "process_linux.go:402: container init caused \"open
 /proc/sys/net/core/rmem_max: no such file or directory\"": unknown

【问题讨论】:

【参考方案1】:

您使用的是什么 docker 镜像?并非主机上的所有命名空间内核参数都在容器中可用。您提到的很可能不是。

您可以通过运行快速检查哪些确实可用:

docker run --rm develop ls -l /proc/sys/net/core

我还建议查看相应的 compose 文档。

【讨论】:

以上是关于docker 容器:更改网络内核设置,net.core.rmem_max的主要内容,如果未能解决你的问题,请参考以下文章

Docker 内核名字空间

你好,我想请教下docker里的centos容器怎么改变udp缓冲区,谢谢,目前好像改不了说的文件readonly?

Docker容器网络配置

Docker容器网络配置

Docker容器网络配置

docker学习