【发布时间】:2022-08-24 15:53:10
【问题描述】:
我想从 docker 容器中访问sysctl -n net.mptcp.mptcp_enabled,但目前我无法实现。我已经尝试过以下事情。
1.
docker run -d --sysctl net.mptcp.mptcp_enabled=1 --name=test -p 3100:3100 my_container
75dcbdc65a1539ce734a413cb6e23bf216aea76f6533c52280d3e866270424b9
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: write sysctl key net.mptcp.mptcp_enabled: open /proc/sys/net/mptcp/mptcp_enabled: no such file or directory: unknown.
docker run -d --cap-add=SYS_ADMIN --privileged --name=test -p 3100:3100 my_container
这次容器启动但是/proc/sys/net/mptcp/mptcp_enabled 下没有文件
3.
docker run -d -v /proc:/proc --cap-add=SYS_ADMIN --privileged --name=test -p 3100:3100 my_container
这也与 2 相同。
我看到了sysctl that starts with net.* are namespaced,但想知道为什么这不起作用。
注意:我的主机有支持 mptcp 的内核,我可以在 /proc/sys/net/mptcp/ 下看到所有 mptcp 相关文件*