In this tutorial, you will learn how we can Install Podman on Ubuntu system. For Installing podman on CentOS 8 / RHEL 8 visit here:
How To Install podman on CentOS 8
As you know you can not run Docker containers without Docker Engine daemon.
Following tools will help you to power the use of Containers without an all time running daemon process.
Buildah:
It will facilitate building of OCI images.
Skopeo:
For sharing/findings container images on Docker registries, the Atomic registry, private registries, local directories and local OCI-layout directories.
Podman
Podman is used for running containers without the need of daemon.
Buildah’s commands replicate all of the commands that are found in Docker file. We create Buildah’s containers to allow to connect to be added back to the container image.
Podman helps us to have commands and functions required to maintain and modify OCI images, such as downloading, tagging and removing etc. It will give you access to create, run, and maintain containers created from those images.
Step 1: Installing Podman on Ubuntu
First of all the podman package is on a PPA repository which needs to be added prior to installation. For this start a new session on your Ubuntu system and run the below command.
sudo apt update
sudo apt-y install software-properties-common
sudo add-apt-repository -y ppa:projectatomic/ppa
After adding the repository, begin with the installation
sudo apt update
sudo apt -y install podman
Note: If you ran into any problems try the following for some version
How to fix issues with some ubuntu versions
When you’ve finish installing, you can display information related to the host, current storage stats, and build of podman.
podman info
host:
BuildahVersion: 1.7-dev
Conmon:
package: 'cri-o-1.12: /usr/lib/crio/bin/conmon'
path: /usr/lib/crio/bin/conmon
version: 'conmon version 1.12.4-dev, commit: '
Distribution:
distribution: ubuntu
version: "18.04"
MemFree: 720404480
MemTotal: 1033080832
OCIRuntime:
package: 'cri-o-runc: /usr/sbin/runc'
path: /usr/sbin/runc
version: 'runc version spec: 1.0.1-dev'
SwapFree: 2047864832
SwapTotal: 2047864832
arch: amd64
cpus: 2
hostname: ubuntu-01
kernel: 4.15.0-42-generic
os: linux
rootless: false
uptime: 2m 5.03s
insecure registries:
registries: []
registries:
registries:
docker.io
registry.fedoraproject.org
quay.io
registry.access.redhat.com
registry.centos.org
store:
ConfigFile: /etc/containers/storage.conf
ContainerStore:
number: 1
GraphDriverName: overlay
GraphOptions: null
GraphRoot: /var/lib/containers/storage
GraphStatus:
Backing Filesystem: extfs
Native Overlay Diff: "true"
Supports d_type: "true"
Using metacopy: "false"
ImageStore:
number: 2
RunRoot: /var/run/containers/storage
Populate Configuration files
You have to add manually configuration files like registry and policy files.
sudo mkdir -p /etc/containers
sudo curl https://raw.githubusercontent.com/projectatomic/registries/master/registries.fedora -o /etc/containers/registries.conf
sudo curl https://raw.githubusercontent.com/containers/skopeo/master/default-policy.json -o /etc/containers/policy.json
Step 2: Testing Podman Installation on Ubuntu
Download the Alpine docker image by pull command.
podman pull alpine
Type the following command to see the list of downloaded images.
podman images
Podman’s local repository is located in /var/lib/contianers
$ podman run -it --rm docker.io/library/alpine /bin/sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
v3.9.2-1-g592d872fb8 [http://dl-cdn.alpinelinux.org/alpine/v3.9/main]
v3.9.2-2-ge7dc3349a9 [http://dl-cdn.alpinelinux.org/alpine/v3.9/community]
OK: 9754 distinct packages available
/ # apk add vim
(1/5) Installing lua5.3-libs (5.3.5-r1)
(2/5) Installing ncurses-terminfo-base (6.1_p20190105-r0)
(3/5) Installing ncurses-terminfo (6.1_p20190105-r0)
(4/5) Installing ncurses-libs (6.1_p20190105-r0)
(5/5) Installing vim (8.1.0630-r0)
Executing busybox-1.29.3-r10.trigger
OK: 40 MiB in 19 packages
/ # exit
List the running containers by
podman ls
If you want to learn in more details then check out the below link
How To Run Docker Containers using Podman and Libpod.