Docker的安装命令在本站可以搜到就不列举了,这里copy的是zerotier的官方命令。
一、搭建命令
一条命令创建 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
- 容器对外映射端口可自行修改:
外部ip:9993
另一条命令查看 moon id
docker logs zerotier-moon
注意: 当创建一个新的容器时,会生成新的 moon id。为了保持 moon id 不变,在容器停止运行时,使用 docker start zerotier-moon 重启容器。如果需要在创建新的容器时保持 moon id 不变,可以参考下面的挂载配置文件夹。
二、生成moon文件
进入docker:
docker exec -it 19c677c1bab0 /bin/sh
(进入docker的方式可以参考这个文章)
运行下面两条命令以生成moon文件:
zerotier-idtool generate identity.secret identity.public
zerotier-idtool initmoon identity.public >>moon.json
修改MOONS文件
下载moon文件并修改文件中“stableEndpoints
” 字段:
“stableEndpoints”: [ “117.XX.XX.XX/9993” ]
对moon文件进行签名:
这一步需要打开zerotier-one的文件夹,以windows为例:
- 打开根目录后创建命名为
moons.d
的文件夹 - 然后右击windows按钮选择
以管理员运行powershell
- 运行命令:
zerotier-idtool genmoon moon.json zerotier-cli orbit moon的id moon的id
最后重启zerotier就能成功连接上moon服务器:
zerotier-cli listpeers
高阶用法
管理 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 替换为自定义端口。