From 167a5039d0f03167540c07b0251a0ba8d3472107 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Mon, 28 Sep 2015 23:40:20 -0700 Subject: [PATCH] . --- docker-test/htdocs/ZeroTierIcon.png | Bin 0 -> 26898 bytes docker-test/htdocs/index.html | 69 ++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 docker-test/htdocs/ZeroTierIcon.png create mode 100644 docker-test/htdocs/index.html diff --git a/docker-test/htdocs/ZeroTierIcon.png b/docker-test/htdocs/ZeroTierIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..4d9641b344329a3790f94206d012f2a9ce2e0750 GIT binary patch literal 26898 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 literal 0 HcmV?d00001 diff --git a/docker-test/htdocs/index.html b/docker-test/htdocs/index.html new file mode 100644 index 00000000..017e4493 --- /dev/null +++ b/docker-test/htdocs/index.html @@ -0,0 +1,69 @@ + + + + + + + + ZeroTier Network Containers Preview + + + +

+ +
+
+
+
+

ZeroTier Network Containers Preview

+ (a.k.a. super bleeding edge pre-alphe pre-release demo) +
+
+
+ +
+
+
+ +
+ +

This page is being served from a Docker container with its own private TCP/IP microservice.

+ +

+It's connected to a virtual network, but if you "docker exec" into it and look around you won't find any special devices. No special privileges or configuration changes on the Docker host were needed. Everything is completely "stock" and completely self-contained. +

+ +

+There's nothing special about the web server. It's just Apache. There's nothing special about the Linux image. It's based on a regular Fedora Docker base image. Other than Apache, the only thing this image contains is the ZeroTier network containers microservice and dynamic library. +

+ +

+When Apache is run, our launcher script configures it to load a special dynamic library. This library intercepts calls to the Linux C networking API, redirecting network I/O to our private network stack microservice instead of the standard Linux kernel network path. This microservice takes care of the rest, automatically encapsulating traffic and sending it over the virtual network instead of the physical. +

+ +

+It's a bit like how networking would work on a microkernel: modular, composable, portable, and independent. +

+ +

+Network Containers allows a Docker (or LXC, CoreOS/rkt, runc, OpenVZ, SmartOS/Triton, bocker, or even just bare metal Linux) system to connect to virtual networks without requiring any special permissions or special configuration on the host node. Processes inside the container don't even need to run with root permissions. It's 100% user-space, making it ideal for multi-tenant deployments or any other situation where modifying the configuration of the host node is impossible or just inconvenient. +

+ +

+Once properly tuned and optimized, Network Containers also has the potential to be much faster than tun/tap or pcap based network overlays. It imposes only a single context switch from application/service to virtual network microservice as opposed to at least four for tun/tap and pcap-based solutions, since the latter require two trips through the kernel network stack. We believe it may be possible to approach or even equal the performance of VXLAN/IPSec or other fully kernel-mode configurations, but with the ease and total independence of a fully container-based solution. +

+ +

+We created this container image to show you a preview of one of the projects we've been working on at ZeroTier. We still have a good deal of packaging, testing, and performance optimization work to do before Network Containers will be ready for a real public beta release. Follow the blog or @zerotier for updates and announcements. +

+ +

+P.S. If you want to use ZeroTier in Docker today, you can do it with the same ZeroTier One endpoint service you're using to access this network. The only catch is that you have to launch your containers with "--device=/dev/net/tun --cap-add=NET_ADMIN". Network Containers eliminates the need for these special options. +

+ +
+ +
+ + +