Container Integration in systemd

systemd incorporates a container manager called systemd-nspawn [1]. In this post I'll show how to build and start containers on Debian Jessie.

First, lets install the prerequisites:

Next, let's build the container file system:

To start the container and connect with console run:
The container is now running, sharing the network name space of the physical host.

To launch the container in its own network namespace with one interface connected to a bridge on the host first create the bridge:

The container now has a network interface named host0:
On the host a new virtual interface (the other end of the connections from the container) is connected to the bridge:
Systemd can control the containers just like any other service by specifying a unit file:

Here's a detailed example of how to start multiple containers running Redis on different ports:
Resources:
[1]. http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html
[2]. https://coreos.com/docs/launching-containers/launching/getting-started-with-systemd/

No comments:

Post a Comment