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