在某些场景下,用户可能期望用容器方式来部署xEdge服务并发布子网路由,此时可以使用xEdge基于Tailscale开源代码构建的xEdge容器镜像来实现。
为方便用户拉取容器镜像,xEdge将容器镜像发布在阿里云镜像服务上,你可以从如下地址拉取xEdge镜像:
registry.cn-hangzhou.aliyuncs.com/xedge/xedge
相比开源版本镜像,xEdge镜像仅修改了登陆服务器,因此镜像的使用同开源版本,容器内的命令行同样是tailscale。
xEdge最近已经支持了认证KEY,您可以通过设置TS_AUTHKEY
变量为认证KEY来接入容器。
docker run -d --name=xedged -e TS_USERSPACE='false' -e TS_KUBE_SECRET='' -e TS_STATE_DIR='/var/lib/xedge' -e TS_AUTH_ONCE='true' -e TS_AUTHKEY='db2a1f798ccd90e8' -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW registry.cn-hangzhou.aliyuncs.com/xedge/xedge:latest
上面的一些参数说明如下:
-v /dev/net/tun
,因为它通过重组安全内网发来的数据包,以socket的方式所在局域网主机通信,因此性能一般;因此,上面的示例关闭此模式。-v /etc/xedge:/var/lib
,并在OpenWRT上创建/etc/xedge目录,以避免此情况。docker run -d --name=xedged-as-sr -e TS_KUBE_SECRET='' -e TS_STATE_DIR='/var/lib/xedge' -e TS_AUTH_ONCE='true' -e TS_AUTHKEY='db2a1f798ccd90e8' -e TS_ROUTES="172.17.0.0/16" -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW registry.cn-hangzhou.aliyuncs.com/xedge/xedge:latest
上面的新增参数说明如下:
--network=host
来使用,从而将容器所以主机的网段发布给其他终端。容器启动成功后,您需要在xEdge控制台里,像对待其他的子网路由器一样,在控制台里允许将这个路由分发给其他xEdge终端。