This year I started becoming familiar with Linux kernel namespaces, rootless containers, and the toolchain around Podman. In this article, I share my first experiences with beginners as well as developers, product managers, and solution architects so you all get to know how it feels to be a newbie to the container world.

Why should you care about Linux containers at all?

In my perception, the container hype started around the year 2015, when new buzzwords like Docker, Kubernetes, and OpenShift appeared. I didn't care about containers because literally none of my colleagues and users cared about this technology back then. We had our processes that worked fine (and still do). Of course, we had some problems, but this new technology didn't seem to solve any of them. So what changed that I suddenly started to care about this topic?

It's 2021 and the COVID-19 pandemic is still around, as are containers. However, the hype seems to be over, but I'm sure that containers found their place in the IT ecosystem, and they will be around for the foreseeable future. To keep up with my fellow sysadmin friends who are already familiar with container technologies, I started my journey through containerland.

Where to start?

When you ask somebody where to start, you sometimes just get "read the manual" messages or maybe a "there are some pretty good man pages available on Linux." But, how do you find the man page or read the manual when you don't know the name of the tool you are looking for?

Researching containers on the internet, you may struggle with two problems: Terminology and tutorial complexity. When you read a certain term for the first time, you might be confused about whether it means a company, a CLI tool, a container image, or a container instance. The second problem is that it seems there are only two kinds of tutorials out there: The "Hello, World!" one and the "This is how you deploy Kubernetes clusters in a multi-cloud environment using a combination of just three different automation and orchestration tools you probably never heard of."

To familiarize yourself with the terminology and the architecture of containers, I recommend the following articles, which are available online:

  1. A Practical Introduction to Container Terminology
  2. Architecting Containers Part 1: Why Understanding User Space vs. Kernel Space Matters
  3. Architecting Containers Part 2: Why the User Space Matters
  4. Architecting Containers Part 3: How the User Space Affects Your Application

After you've covered the theoretical basics, I recommend starting with a small starter project. Choose some software you are interested in, check if it's available as a container image, and start getting familiar with the tools by gathering your first practical experience.

Speaking of tools, I've chosen to start my journey with Podman because it's a simple tool to manage and to run your containers and pods without having to keep some kind of daemon running. I like the effort Red Hat has put into this tool and the possibility of running rootless containers. Also, Podman is available for a broad range of distributions.

For example, I run Podman on Red Hat Enterprise Linux 8 (RHEL). It is a small virtual machine running in my home lab with just one vCPU and 2 GB of RAM. This is enough for a simple project to start.

Now that you know the name, Podman, you also know how to find the man page that tells you how to use it. Additionally, I recommend the following documentation, even if you're running Podman on a distribution other than RHEL:

I started by running a Pod with a kanboard-container and a postgresql-96-container. When it comes to questions like, "How do I share data between containers?" or "How do I set up container networking?" the link above and the following one will help:

What to do when the first container/pod is up and running?

That's not so different from the job you already know. You now have to deal with the usual topics like:

  • How and where to store data persistently
  • Backup and restore
  • Security hardening and updating
  • Documentation
  • Deployment-automation

Enjoy what you have accomplished so far and think ahead on how to run your first Kubernetes/OpenShift cluster in your company or in your home lab.

Wrap up

Once you've got the terms and tools straight, it's easy to enter and explore this new world of container technology. Running rootless Podman containers provides you with the possibility to explore and try out new applications in a secure environment quickly and easily without messing up your host system's configuration.


关于作者

Jörg has been a Sysadmin for over ten years now. His fields of operation include Virtualization (VMware), Linux System Administration and Automation (RHEL), Firewalling (Forcepoint), and Loadbalancing (F5). He is a member of the Red Hat Accelerators Community and author of his personal blog at https://www.my-it-brain.de.

UI_Icon-Red_Hat-Close-A-Black-RGB

按频道浏览

automation icon

自动化

有关技术、团队和环境 IT 自动化的最新信息

AI icon

人工智能

平台更新使客户可以在任何地方运行人工智能工作负载

open hybrid cloud icon

开放混合云

了解我们如何利用混合云构建更灵活的未来

security icon

安全防护

有关我们如何跨环境和技术减少风险的最新信息

edge icon

边缘计算

简化边缘运维的平台更新

Infrastructure icon

基础架构

全球领先企业 Linux 平台的最新动态

application development icon

应用领域

我们针对最严峻的应用挑战的解决方案

Virtualization icon

虚拟化

适用于您的本地或跨云工作负载的企业虚拟化的未来