https://github.com/zyclonite/zerotier-docker
#sudo
docker run --name zerotier-one --device=/dev/net/tun --net=host --cap-add=NET_ADMIN --cap-add=SYS_ADMIN -v /var/lib/zerotier-one:/var/lib/zerotier-one zyclonite/zerotier &
docker ps
docker exec zerotier-one zerotier-cli join 8056c2e21c000001
docker exec zerotier-one zerotier-cli listnetworks
install and run on win
#!/bin/bash
chmod 0666 /dev/net/tun
# default earth network
if [ ! -n "$ENV_NETWORK_P2P" ]; then
echo ENV_NETWORK_P2P is not set
exit
fi
echo ENV_NETWORK_P2P=$ENV_NETWORK_P2P
zerotier-one -d
sleep 3
zerotier-cli join $ENV_NETWORK_P2P
while true; do
# export HOST_IP=`zerotier-cli listnetworks | grep "${ENV_NETWORK_P2P}" | awk '{print \$NF}' | sed "s/-//" | sed "s/\/.*$//" `
export HOST_IP=`zerotier-cli listnetworks | grep "${ENV_NETWORK_P2P}" | awk '{print \$NF}' | sed "s/-//" | sed "s/^.*,//" | sed "s/\/.*$//" `
if [ ! -n "$HOST_IP" ]; then
zerotier-cli listnetworks
else
break
fi
sleep 3
done
echo HOST_IP=$HOST_IP
echo HOSTNAME=$HOST_IP >> ~/.bashrc
echo HOSTNAME=$HOST_IP >> /etc/environment
echo HOSTNAME=$HOST_IP >> /etc/bash.bashrc
echo HOSTNAME=$HOST_IP >> /etc/profile
echo HOST_IP=$HOST_IP >> ~/.bashrc
echo HOST_IP=$HOST_IP >> /etc/environment
echo HOST_IP=$HOST_IP >> /etc/bash.bashrc
echo HOST_IP=$HOST_IP >> /etc/profile
echo NOTES: manually do it if want to get new ip:
echo rm -f /var/lib/zerotier-one/identity.*
#ping $HOST_IP
top