本文在https://blog.zczc.cz/2018/05/13/Docker-%E4%B8%A4%E9%94%AE%E5%88%9B%E5%BB%BA-ZeroTier-moon-%E8%8A%82%E7%82%B9/基础上,更新了zerotier的版本为官方最新版本.
ZeroTier moon 节点的创建说不上特别繁琐但也绝对不是特别简单,因此写了一个 Docker 镜像方便 ZeroTier moon 节点的创建。
补充一下:issue#1158根据官方说法,moon节点仅支持固定公网IP,且未来2.0版本依然维持此设定,不支持域名.不支持域名.不支持域名.
搭建命令
一条命令创建 ZeroTier moon 节点:
$ docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp jonnyan404/zerotier-moon -4 1.2.3.4
(将 1.2.3.4
替换为 moon 的 ip )
另一条命令查看 moon id
$ docker logs zerotier-moon
注意: 当创建一个新的容器时,会生成新的 moon id。为了保持 moon id 不变,在容器停止运行时,使用 docker start zerotier-moon
重启容器。如果需要在创建新的容器时保持 moon id 不变,可以参考下面的挂载配置文件夹。
高阶用法
管理 ZeroTier
docker exec zerotier-moon zerotier-cli
挂载配置文件夹
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v ~/somewhere:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 1.2.3.4
这条命令将本机上的 ~/somewhere
挂载到容器中的 /var/lib/zerotier-one
目录上,使得配置文件能够持久化。如果不挂载配置文件夹,新建容器则会生成新的 moon id.
IPv6 支持
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp jonnyan404/zerotier-moon -4 1.2.3.4 -6 2001:abcd:abcd::1
将 1.2.3.4
, 2001:abcd:abcd::1
替换为 moon 的 ip. -4
选项可在纯 IPv6 环境中忽略。
自定义端口
docker run --name zerotier-moon -d -p 9994:9993 -p 9994:9993/udp jonnyan404/zerotier-moon -4 1.2.3.4 -p 9994
将 9994
替换为自定义端口。