Using systemd Containers

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

While containers are common terminology at this time, most system administrators will immediately think of Docker, or even Kubernetes when they hear the term. Containers are also a useful part of `systemd`, allowing the savvy systems operator to run one to many client instances of an operating system, from super-thin to full OS virtualization, and anything in between.

It is sometimes hard to find information about `systemd` containers, and while there are MANY articles about aspects of them, there is a relatively small subset of even official documentation that goes all the way from no containers to running containers.

In this lab, we’ll do just that—go from having nothing container-related installed to running a Debian 10 Buster hosted container, and all the needed steps in between. This includes:

* Preparing the host system for containers
* Pulling down the OS image
* Configuring users and passwords
* Fixing access issues
* Installing needed packages on the hosted OS
* Running the hosted container instance as a systemd service using `systemd-nspawn`

Additionally, and as promised in the associated course lesson, we’ll create a Service Unit file that we can then use to instantiate the container at will or on system boot.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Prepare, Create, and Configure a systemd Container
  1. Prepare a system for containers.
  2. Download needed utilities.
  3. Create a container.
  4. Set passwords and manage users.
  5. Connect and disconnect from containers.
Manage, Query, and Configure Containers
  1. Start and stop containers manually.
  2. View and understand container status.
  3. Set containers to run as nspawn services.
  4. Install needed software.
Configure a Container as a Service Unit
  1. Set up a container as a systemd service.
  2. View container information.

Additional Resources

As an experienced Linux sysadmin with knowledge of traditional virtualization such as KVM, Virtualbox, and VMWare, it's time to see what systemd containers can do.

In this lab, we'll walk through the preparation of a system for systemd containers, pull down an OS image, and create the container locally. We'll then show how to set passwords, install needed software, and how to access the container in various methods. We'll also show how to set up and run the container as a systemd service.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?