A 
winning entry at the Docker Global Hack Day #3, the 
Container Migration team drew inspiration from a DockerCon talk in which Michael Crosby (
@crosbymichael) and Arnaud Porterie (
@icecrime)
 migrated a Quake 3 container around the world, demonstrating container 
migration while maintaining a TCP connection. The CMT project created an
 external command-line tool that can be either used with Docker or 
runC
 to help "live migrate" containers between different hosts by performing
 pre-migration validations and allowing it to auto-discover suitable 
target hosts.
We had to add in a fun one! Lots of Docker users run custom 
Minecraft
 servers in containers. But Dockercraft is a Minecraft client to 
visualize and manage Docker containers. With the flick of a switch, a 
container turns on or off. And with the press of a button, you can 
destroy one. Dockercraft is a fun project—that is surprisingly 
addictive—from Docker engineers Adrien Duermael and Gaetan de Villele.
The Docker Label Inspector tool helps ensure that developers are 
providing Docker images with the metadata containers required when 
distributed across the Internet. Specifically, this tool enables 
developers to use 
Docker labels to
 create metadata within the domain of container technology, to check 
labels against official label schema and to validate against provided 
JSON schema.
Dvol enables version control for your development databases in 
Docker. Dvol lets you commit, reset, and branch the containerized 
databases running on your laptop, so you can easily save a particular 
state and come back to it later. Dvol can also integrate with Docker 
Compose to spin up reproducible microservices environments on your 
laptop.
5. IPVS Daemon GORB
Presented at DockerCon EU, IP Virtual Server (IPVS) for Docker 
containers enables production-level load balancing and request routing 
using open source IPVS, which has been part of the Linux kernel for more
 than a decade. It supports TCP, SCTP, and UDP and can achieve fast 
speeds, often within five percent of direct connection speeds. Other 
features include NAT, tunneling, and direct routing. To make IPVS easier
 to use, the Go Routing and Balancing (GORB) daemon was created as a 
REST API inside a Docker container to provide IPVS routing for Docker.
Libnetwork combines networking code from both libcontainer and Docker
 Engine to create a multi-platform library for networking containers. 
The goal of libnetwork is to deliver a robust Container Network Model 
that provides a consistent programming interface and the required 
network abstractions for applications. There are many networking 
solutions available to suit a broad range of use-cases. libnetwork uses a
 driver/plugin model to support all of these solutions, while 
abstracting the complexity of the driver implementations by exposing a 
simple and consistent Network Model to users.
In the 
DockerCon closing keynote,
 Dieter Reuter from Hypriot presented a demo running 500 Docker 
containers on a Raspberry Pi 2 device. Convinced that this number of 
containers could be at least doubled, Dieter then challenged the Docker 
community to beat his personal record. As part of his project, Dieter 
Reuter demonstrated how to get started with Docker on Raspberry Pi and 
how to scale the number number of web servers running in containers that
 could reside on a single Raspberry Pi 2. The current record is more 
than 2,500 web servers running in containers on a single Raspberry Pi 2.
8. Scaling Spark with Zoe analytics
This open source user-facing tool ties together 
Spark, a data-intensive framework for big data computation, and 
Docker Swarm.
 Zoe can execute long-running Spark jobs, but also Scala or iPython 
interactive notebooks and streaming applications, covering the full 
Spark development cycle. When a computation is finished, resources are 
automatically freed and available for other uses, because all processes 
are run in Docker containers. This tooling can enable application 
scheduling on top of Swarm and optimized container placement.
First unveiled as a cool hack at DockerCon EU (
Unikernels, meet Docker!), this 
demo
 showed how unikernels can be treated as any other container. In this 
demo, Docker was used to build a unikernel microservice and then 
followed up by deploying a real web application with database, 
webserver, and PHP code, all running as distinct unikernel microservices
 built using 
Rump Kernels. Docker managed the unikernels just like Linux containers, but 
without
 needing to deploy a traditional operating system. Apart from the MySQL,
 NGINX, and PHP with Nibbleblog unikernels shown in the demo, this 
repository also contains some examples of how to get started.
10. Wagl, DNS service discovery for Swarm
Wagl is a DNS server that allows microservices running as containers on a distributed 
Docker Swarm
 cluster to find and talk to each other. Wagl is minimalist and works as
 a drop-in container in your cluster to provide DNS-based service 
discovery and simple load balancing by rotating a list of IP addresses 
in DNS records.
 
No comments:
Post a Comment