本来想学习下 docker 的 network 配置,然后出现了很神奇的 bug(?,我也不知道是不是 bug,docker -itd 一个容器之后,使用 exec 进入容器,即使是加了-u root 的参数(容器内 whoami 显示为 root),使用 ping 的时候会出现 ping: socket: operation not permitted 的错误。同时如果是 docker run -it 时直接进入容器或者是启动容器后使用 docker attach 命令进入容器,则完全没有这个问题,可以正常 ping 以及获取结果。
这到底是什么原因? exec 的时候即使是 root 进入容器也没有 root 权限么? exec 和 attach 的区别在哪里?
宿主机是 alpine,使用的镜像为 Ubuntu,centos,alpine
ps:目前还在查,有没有大神解答下?