一、背景
通常服务器出于安全考虑, 非root用户不能够启动1024一下端口。
二、解决
参考:https://github.com/coredns/coredns/blob/master/Dockerfile
采用RUN setcap cap_net_bind_service=+ep /coredns 可以实现1024一下端口的启动
三、分析
cap_net_bind_service=+ep
是 setcap
命令的一种参数设置,用于赋予一个可执行文件绑定低端口(小于1024)的能力。在这个例子中,cap_net_bind_service
是指网络绑定服务的能力。通过将这个能力赋予一个可执行文件,该文件就能够绑定到低端口,而不需要完全的 root 权限。