From eb46a7f9251d205afd4cfc3046e401a87c64b61a Mon Sep 17 00:00:00 2001 From: Lukas Prettenthaler Date: Wed, 29 Mar 2017 11:22:21 +0200 Subject: [PATCH] readme added --- README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/README.md b/README.md index e69de29..ce03511 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,33 @@ +## zerotier-docker + +#### Description + +This is a container with a lightweight Alpine Linux image and a copy of ZeroTier One built for that image. It's designed to allow you to run ZeroTier One as a service on container-oriented distributions like CoreOS, though it should work on any Linux system with Docker. + +#### Run + +To run this container in the correct way requires some special options to give it special permissions and allow it to persist its files. Here's an example (tested on CoreOS): + + 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 + + +This runs zyclonite/zerotier in a container with special network admin permissions and with access to the host's network stack (no network isolation) and /dev/net/tun to create tun/tap devices. This will allow it to create zt# interfaces on the host the way a copy of ZeroTier One running on the host would normally be able to. + +In other words that basically does the same thing that running zerotier-one directly on the host would do, except it runs in a container. Since CoreOS has no package management this is the preferred way of distributing software for it. + +It also mounts /var/lib/zerotier-one to /var/lib/zerotier-one inside the container, allowing your service container to persist its state across restarts of the container itself. If you don't do this it'll generate a new identity every time. You can put the actual data somewhere other than /var/lib/zerotier-one if you want. + +To join a zerotier network you can use + + docker exec zerotier-one /zerotier-cli join 8056c2e21c000001 + + +or create an empty file with the network as name + + /var/lib/zerotier-one/networks.d/8056c2e21c000001.conf + +#### Source + +https://github.com/zyclonite/zerotier-docker