So, you’ve been using Linux containers, and you want to check out what new features are available in Red Hat Enterprise Linux 8 Beta? We’ll provide a quick runthrough of some of the tools you’ll have available to work with containers.
This post will assume you can get a RHEL 8 Beta system installed - but, if you need a little guidance, check out the installation guide.
If you’re a container veteran, you may have developed a habit of tailoring your systems by installing the “docker” package. On your brand new RHEL 8 Beta system, the first thing you’ll likely do is go to your old friend yum. You’ll try to install the docker package, but to no avail. If you are crafty, next, you’ll search and find this package:
podman-docker.noarch : "package to Emulate Docker CLI using podman."
What is this Podman we speak of? The
docker package is replaced by the Container Tools module, which consists of Podman, Buildah, Skopeo and several other tidbits. There are a lot of new names packed into that sentence so, let’s break them down.
Module - basically, a group of software that is released together in a single life cycle. For more see: Introducing Application Streams (AppStreams) in RHEL 8. Also, see the upstream Fedora Modularity documentation.
Podman - Simpler, daemon-less tool that provides a command line experience. If you can use the docker cli, you already know how to use podman. For more see this introduction by Doug Tidwell.
Buildah - powerful build tool which is designed to provide control over how image layers are committed, and how data is accessed during builds. For more, check out these tutorials.
These tools are compatible with the OCI specifications which means they can find, run, build and share containers with other tools that target the OCI standards including Docker CE, Docker EE, Kata Containers, CRI-O, and other container engines, registries, and tools. You can build with Buildah, and run with CRI-O. You can copy images from an AWS container registry to a local Podman instance. The OCI standards offer greater flexibility and choice. So, how might one get these new tools in Red Hat Enterprise Linux 8 Beta? Run this command on your Red Hat Enterprise Linux 8 Beta system:
yum module install -y container-tools
When this command completes, you will have all three tools installed and ready to go. Experiment, have fun, and let us know what you think. Once you have your packages installed, checkout the RHEL 8 Beta documentation to get started with podman, buildah, and skopeo: Building, running, and managing containers.
As you find features you think would be useful, or even bugs, please let us know. To file a feature or bug during the life of Red Hat Enterprise Linux 8 Beta, file an issue on Red Hat's Bugzilla instance. This link will take you directly to where you need to go, but you will need to create an account first, if you don't already have one.
When filing an issue, please select component to help us route these to the right teams. Here are a couple of screenshots to help:
We are proud to share the new Container Tools module in Red Hat Enterprise Linux 8 Beta. The goal is to enable users to find, run, build and share containers with greater ease and in new ways. It’s a community effort and we would love your feedback.
About the author
At Red Hat, Scott McCarty is Senior Principal Product Manager for RHEL Server, arguably the largest open source software business in the world. Focus areas include cloud, containers, workload expansion, and automation. Working closely with customers, partners, engineering teams, sales, marketing, other product teams, and even in the community, he combines personal experience with customer and partner feedback to enhance and tailor strategic capabilities in Red Hat Enterprise Linux.
McCarty is a social media start-up veteran, an e-commerce old timer, and a weathered government research technologist, with experience across a variety of companies and organizations, from seven person startups to 20,000 employee technology companies. This has culminated in a unique perspective on open source software development, delivery, and maintenance.