云原生开发环境不允许ping#2888
是否设计如此?
# ping 127.0.0.1 sh: 24: ping: Operation not permitted
注意到云原生开发日志有一条
docker run --rm -e TZ='Asia/Shanghai' $ORANGE_ENVS --network container:cnb-04v-1jdkfnn5u-001-network-bus --ulimit nofile=65535:65535 --sysctl net.ipv4.ping_group_range="0 2147483647" --cap-drop CAP_NET_RAW --cgroup-parent=/cnb-04v-1jdkfnn5u-001/ --cpus 8 -m 16g --memory-swap 16g --storage-opt size=256G --name cnb-04v-1jdkfnn5u-001-image-job-oi6ncn -v /data/orange-ci/runner/2005520579520151552/cnb-04v-1jdkfnn5u-001/workspace/:/workspace/ --volumes-from cnb-04v-1jdkfnn5u-001 -w /workspace/ johnfmorton/tree-cli
deepseek 解释:
注意:命令中存在配置冲突: --cap-drop CAP_NET_RAW 删除了原始网络权限 但 --sysctl net.ipv4.ping_group_range 又试图启用 ping 功能 这可能导致 ping 命令在容器内无法正常工作。
由人工为您推荐这些相似 issue 或者文档
#1130 自定义开发环境镜像dockerfile安装ping命令,提示没权限.
出于安全考虑,cnb 启动容器的时候没有给 NET_RAW 能力,所以 ping 是没办法用的, 可以试试 traceroute。 @cnb.aAWE5aCRAEA(Bekey)
@sixther(段超)
那么为什么要写 --sysctl net.ipv4.ping_group_range?
@sixther(段超) 那么为什么要写 --sysctl net.ipv4.ping_group_range?
@loviselu(卢嘉辉)
@samsong(AcidBunny) 我是这样用的,算是提供一个解决方案,给基础镜像增加一条别名
alias ping="docker run --rm --network host docker.cnb.cool/znb/images/alpine ping "
然后:
简单描述一下问题和重现方式
是否设计如此?
# ping 127.0.0.1 sh: 24: ping: Operation not permitted注意到云原生开发日志有一条
docker run --rm -e TZ='Asia/Shanghai' $ORANGE_ENVS --network container:cnb-04v-1jdkfnn5u-001-network-bus --ulimit nofile=65535:65535 --sysctl net.ipv4.ping_group_range="0 2147483647" --cap-drop CAP_NET_RAW --cgroup-parent=/cnb-04v-1jdkfnn5u-001/ --cpus 8 -m 16g --memory-swap 16g --storage-opt size=256G --name cnb-04v-1jdkfnn5u-001-image-job-oi6ncn -v /data/orange-ci/runner/2005520579520151552/cnb-04v-1jdkfnn5u-001/workspace/:/workspace/ --volumes-from cnb-04v-1jdkfnn5u-001 -w /workspace/ johnfmorton/tree-clideepseek 解释: