【问题标题】:Is it possible to access mptcp sysctl inside docker?是否可以在 docker 中访问 mptcp sysctl?
【发布时间】: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 相关文件*

    标签: docker sysctl mptcp


    【解决方案1】:

    我遇到了同样的问题。使用--net=host 应该可以解决它。

    尝试这个:

    docker run -d --net=host --name=test -p 3100:3100 my_container
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2010-10-21
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多