Как установить Podman на Ubuntu 22.04
Это руководство существует для этих версий ОС
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 20.04 (Focal Fossa)
На этой странице
- Предпосылки
- Установите Podman в Ubuntu 22.04
- Настройка реестра Podman
- Загрузка изображений с помощью Podman
- Создание контейнера и управление им с помощью Podman
- Начало работы с Podman
- Заключение
Podman, также называемый «Pod Manager», представляет собой инструмент с открытым исходным кодом, используемый для создания контейнеров и управления ими. Это часть библиотеки libpod, которая не зависит от демона Docker и совместима с Docker. Это простая и легкая среда выполнения контейнеров для Kubernetes. С недавним изменением лицензии Docker podman может стать хорошей альтернативой, доступной для использования в большинстве систем Linux.
В этом руководстве я покажу вам, как установить и использовать Podman на сервере Ubuntu 22.04.
Предпосылки
- Сервер под управлением Ubuntu 22.04.
- На сервере настроен пароль root.
Установите Подман на Ubuntu 22.04
По умолчанию пакет Podman включен в стандартный репозиторий Ubuntu. Вы можете установить его, просто выполнив следующую команду:
apt install podman -y
После установки Podman вы можете проверить это с помощью следующей команды:
podman -v
Вы должны увидеть версию Podman в следующем выводе:
podman version 3.4.4
Вы также можете просмотреть подробную информацию о Podman с помощью следующей команды:
podman info
Вы должны получить следующий результат:
host: arch: amd64 buildahVersion: 1.23.1 cgroupControllers: - cpuset - cpu - io - memory - hugetlb - pids - rdma - misc cgroupManager: systemd cgroupVersion: v2 conmon: package: 'conmon: /usr/bin/conmon' path: /usr/bin/conmon version: 'conmon version 2.0.25, commit: unknown' cpus: 2 distribution: codename: jammy distribution: ubuntu version: "22.04" eventLogger: journald hostname: ubuntu2204 idMappings:
Настройка реестра Podman
По умолчанию реестр Podman не настроен на загрузку и установку образов контейнеров из Интернета. Так что вам нужно будет настроить его в первую очередь.
nano /etc/containers/registries.conf
Добавьте следующие строки:
[registries.search] registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]
Сохраните и закройте файл, когда закончите.
Скачать изображения с Podman
Podman позволяет легко искать и загружать изображения из Интернета. Например, чтобы найти образ Debian, выполните следующую команду:
podman search debian
Вы должны получить список всех образов Debian в следующем выводе:
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/library/ubuntu Ubuntu is a Debian-based Linux operating sys... 14959 [OK] docker.io docker.io/library/debian Debian is a Linux distribution that's compos... 4435 [OK] docker.io docker.io/library/neurodebian NeuroDebian provides neuroscience research s... 93 [OK] docker.io docker.io/bitnami/debian-base-buildpack Debian base compilation image 2 [OK] docker.io docker.io/mirantis/debian-build-ubuntu-xenial 0 docker.io docker.io/mirantis/debian-build-ubuntu-trusty 0 docker.io docker.io/osrf/debian_arm64 Debian arm64 Base Images 1 docker.io docker.io/rancher/debianconsole 1 docker.io docker.io/dokken/debian-10 Debian 10 image for use with kitchen-dokken 0 docker.io docker.io/dokken/debian-9 Debian 9 image for kitchen-dokken 0 docker.io docker.io/ustclug/debian Official Debian Image with USTC Mirror 1 docker.io docker.io/dokken/debian-8 EOL: Debian 8 image for kitchen-dokken 0 docker.io docker.io/dokken/debian-11 Debian 11 image for use with kitchen-dokken 0 docker.io docker.io/corpusops/debian-bare https://github.com/corpusops/docker-images/ 0 docker.io docker.io/datadog/debian-i386 0 docker.io docker.io/corpusops/debian debian corpusops baseimage 0 docker.io docker.io/osrf/debian_armhf Debian Armhf Base Images 1 docker.io docker.io/treehouses/debian 2 docker.io docker.io/dokken/debian-7 EOL DISTRO: For use with kitchen-dokken, Bas... 0 docker.io docker.io/treehouses/debian-tags 0 docker.io docker.io/dokken/debian-12 0 docker.io docker.io/dockage/debian-runit Docker image uses runit as a process supervi... 2 [OK] docker.io docker.io/galaxy/debian32-wheel 0 docker.io docker.io/galaxy/debian-wheel 0 docker.io docker.io/dockage/debian Debian image that forms the base for some Do... 2 [OK]
Затем загрузите последний образ Debian из Интернета с помощью следующей команды:
podman pull debian
Это выполнит поиск и загрузку последнего образа Debian, как показано ниже:
Getting image source signatures Copying blob 23858da423a6 done Copying config 43d28810c1 done Writing manifest to image destination Storing signatures 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Теперь вы можете проверить загруженный образ с помощью следующей команды:
podman images
Вы должны увидеть следующий вывод:
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/library/debian latest 43d28810c1b4 5 days ago 129 MB
Создание контейнера и управление им с помощью Podman
С Podman вы можете легко создавать контейнеры и управлять ими через командную строку.
Чтобы создать контейнер из образа Debian, выполните следующую команду:
podman run -dit --name debian-container debian
После создания контейнера вы можете увидеть работающий контейнер с помощью следующей команды:
podman ps
Вы должны увидеть следующий вывод:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 533698eaf6f1 docker.io/library/debian:latest bash 6 seconds ago Up 6 seconds ago debian-container
Чтобы подключиться к контейнеру Debian, выполните следующую команду:
podman attach debian-container
Вы попадете в контейнер Debian, как показано ниже:
:/#
Вы можете проверить версию контейнера с помощью следующей команды:
cat /etc/os-release
Вы получите следующий вывод:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
Чтобы выйти из контейнера, выполните следующую команду:
:/# exit
Чтобы остановить контейнер, выполните следующую команду:
podman stop debian-container
Чтобы запустить контейнер, выполните следующую команду:
podman start debian-container
Чтобы удалить контейнер, выполните следующую команду:
podman rm debian-container
Чтобы удалить образ Debian, выполните следующую команду:
podman rmi debian
Вы получите следующий вывод:
Untagged: docker.io/library/debian:latest Deleted: 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Вы можете просмотреть все параметры команды Podman с помощью следующей команды:
podman --help
Вы должны увидеть все полезные параметры в следующем выводе:
Manage pods, containers and images Usage: podman [options] [command] Available Commands: attach Attach to a running container auto-update Auto update containers according to their auto-update policy build Build an image using instructions from Containerfiles commit Create new image based on the changed container container Manage containers cp Copy files/folders between a container and the local filesystem create Create but do not start a container diff Display the changes to the object's file system events Show podman events exec Run a process in a running container export Export container's filesystem contents as a tar archive generate Generate structured data based on containers, pods or volumes healthcheck Manage health checks on containers help Help about any command history Show history of a specified image image Manage images images List images in local storage import Import a tarball to create a filesystem image info Display podman system information init Initialize one or more containers inspect Display the configuration of object denoted by ID kill Kill one or more running containers with a specific signal load Load image(s) from a tar archive login Login to a container registry logout Logout of a container registry logs Fetch the logs of one or more containers machine Manage a virtual machine manifest Manipulate manifest lists and image indexes mount Mount a working container's root filesystem network Manage networks pause Pause all the processes in one or more containers play Play containers, pods or volumes from a structured file pod Manage pods port List port mappings or a specific mapping for the container ps List containers pull Pull an image from a registry push Push an image to a specified destination rename Rename an existing container restart Restart one or more containers rm Remove one or more containers rmi Removes one or more images from local storage run Run a command in a new container save Save image(s) to an archive search Search registry for image secret Manage secrets start Start one or more containers stats Display a live stream of container resource usage statistics stop Stop one or more containers system Manage podman tag Add an additional name to a local image top Display the running processes of a container unmount Unmounts working container's root filesystem unpause Unpause the processes in one or more containers unshare Run a command in a modified user namespace untag Remove a name from a local image version Display the Podman version information volume Manage volumes wait Block on one or more containers
Начало работы с Podman
Подробное руководство по использованию Podman для создания образов, томов и контейнеров доступно здесь: Начало работы с Podman: управление образами, контейнерами и томами.
Заключение
Поздравляем! вы успешно установили Podman на сервер Ubuntu 22.04. Теперь вы можете использовать Podman в качестве альтернативного инструмента Docker для управления контейнером. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы. Для получения дополнительной информации о Podman посетите страницу документации Podman.