Docker 镜像中的 sysctl -w net.core.rmem_max=8388608 影响主机设置

Docker 镜像中的 sysctl -w net.core.rmem_max=8388608 影响主机设置

假设以下命令序列在存在 Docker 映像的单台计算机上运行:

HOST$ sysctl net.core.rmem_max
net.core.rmem_max = 212992

DOCKER$ sysctl net.core.rmem_max
net.core.rmem_max = 212992
DOCKER$ sudo sysctl -w net.core.rmem_max=8388608
net.core.rmem_max = 8388608
DOCKER$ sysctl net.core.rmem_max
net.core.rmem_max = 8388608

HOST$ sysctl net.core.rmem_max
net.core.rmem_max = 8388608

我不希望在 Docker 中设置一个值来影响主机设备;有什么办法可以将这种影响限制在 Docker 身上吗?

此外,在我的Dockerfile我有:

RUN echo "net.core.rmem_max=26214400\nnet.core.rmem_default=26214400\n" > /etc/sysctl.d/60-cyclonedds.conf

但这并不影响结果DOCKER$ sysctl net.core.rmem_max。如何单独设置Docker容器中的值?

主机和 Docker 镜像都运行 Ubuntu 20.04。

相关内容