我正在尝试在多节点迷你集群的控制节点上设置 PXE 启动服务器,然后让每个节点连接到 docker swarm。按照本网站上的说明进行操作(https://jpetazzo.github.io/2013/12/07/pxe-netboot-docker/),我以 root 身份运行该命令docker run jpetazzo/pxe
,但 docker 容器告诉我,我没有使用 root 用户,尽管我是这样。
root@debian:/home/anthony# docker run jpetazzo/pxe
Setting up iptables...
iptables v1.4.21: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
我应该如何解决这个问题?有没有更好/更简单的方法来设置 PXE 启动服务器?
编辑:我正在使用最新版本的 Debian 和 Docker
答案1
来自自述文件.md文件,你应该运行它
- 使用 PXECID=$(docker run --cap-add NET_ADMIN -d pxe) 运行容器
- 使用 ./pipework br0 $PXECID 192.168.242.1/24 为其提供额外的网络接口
- 将连接到您的计算机的网络接口放在同一网桥上,例如 brctl addif br0 eth0(如果有的话,不要忘记将 eth0 IP 地址移至 br0)。
即您的 docker 容器需要主机上的 NET_ADMIN。