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
- Prepare a system for containers.
- Download needed utilities.
- Create a container.
- Set passwords and manage users.
- Connect and disconnect from containers.
- Manage, Query, and Configure Containers
- Start and stop containers manually.
- View and understand container status.
- Set containers to run as
nspawn
services. - Install needed software.
- Configure a Container as a Service Unit
- Set up a container as a
systemd
service. - View container information.
- Set up a container as a