本文在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
替換為自定義端口。