Руководство для начинающих по контейнерам Podman в Linux

Подман Особенность

Говоря о будущем технологий, многие опытные специалисты знают, что виртуализация и контейнеризация - это именно тот путь. Они обеспечивают большую безопасность приложений и сервисов, и ими легко управлять с помощью других сервисов, которые позволяют создавать моментальные снимки, шаблоны и более обширную настройку, чем в модели "один сервер на приложение". Однако не всегда до конца понятно, с чего следует начинать работу с виртуализацией и контейнеризацией. Мы уже много раз рассматривали виртуализацию в Linux, Windows и macOS, но контейнеризация имеет тенденцию быть немного другим. В этой статье мы предлагаем вам руководство для начинающих по Podman в Linux, отличному инструменту для контейнеризации.

Что такое контейнеры?

Контейнеры - это, по сути, маленькие виртуальные машины, но только для приложений. В них используется много одинаковых концепций и в основном те же функции безопасности и простоты использования, но они намного меньше по размеру и позволяют легко создавать образы и распространять приложения. Это во многом то, на чем основаны Flatpaks и Snaps. Вы можете начать видеть параллели: одна программа, несколько приложений, работающих в изолированной среде.

Что такое Подман?

Многие из нас слышали о Докер, OG контейнерных движков. Podman - похожий контейнерный движок, который использует структуру, очень похожую на Docker, с несколькими ключевыми отличиями.

Во-первых, Podman не имеет демонов, тогда как Docker полагается на демона. Это означает, что контейнеры Podman могут работать без разрешений корневого уровня, что обеспечивает большую безопасность и гибкость. Контейнер, работающий на уровне пользователя, означает, что пользователи могут видеть только свои контейнеры и никого больше. Podman требует меньше системных ресурсов из-за более простой архитектуры, что делает его более приятным.

Архитектура без демонов приводит к так называемым контейнерам без корня. Это концепция, основанная на предыдущем различии, но ориентированная на безопасность. Если злоумышленник скомпрометирует ваш контейнер и ему удастся сбежать по какой-либо причине, у него будут только базовые разрешения пользователя, а не права root. Для этого требуется дополнительная настройка, и на данный момент есть некоторые недостатки, но на это стоит обратить внимание.

Установка Podman

Для большинства дистрибутивов Podman находится в основных репозиториях, что делает его простой командой установки:

Использование Podman

Синтаксис команды для запуска контейнера Podman может немного сбивать с толку, но как только вы начнете разбираться в нем, вы начнете распознавать шаблоны. Вот пример контейнера из проекта, который вы можете запустить, введя эту команду в терминал:

Подман Бег

Это приведет к извлечению некоторых изображений из реестра, который указан в списке, и как только это будет сделано, вы получите длинный номер. Вы увидите это позже, когда проверите, работают ли контейнеры.

Чтобы проверить запущенные контейнеры Podman, введите следующую команду:

Подман Пс

Вы увидите контейнер, который вы запустили ранее. Это подтверждает, что он работает. Однако, если вы хотите специально просмотреть веб-страницу, на которой работает Apache, вы выполните следующую команду:

Замена 0.0.0.0 любым IP-адресом, который отображается при запуске команды podman ps. Вы должны получить кучу искаженного HTML, но если вы посмотрите прямо вверху, вы заметите синтаксис заголовка в HTML и поймете, что он работает.

Подман Images

Что-то хорошее в Подмане - это использование изображений. Вы можете искать другие изображения, такие как httpd, или другие программы, которые вам нужны.

Я искал vncserver, и вот что у меня получилось. Как видите, вариантов много, и все зависит от ваших личных предпочтений.

Подман Поиск

Чтобы захватить одно из этих изображений, выполните команду podman pull.

Чтобы реестр контейнеров был точным, рекомендуется использовать полный URL-адрес. В качестве примера я запускаю следующую команду:

вместо того, чтобы просто запускать podman pull vncserver, потому что могут быть изображения, которые я не хочу, и которые будут выбраны вместо этого, которое мне действительно нужно.

Подман тянуть

Вы также можете проверить свои изображения с помощью этой команды:

И остановите контейнеры с помощью этой команды:

Флаг -l означает, что он остановит последний запускаемый контейнер, но вы также можете использовать флаг -a, чтобы остановить все контейнеры.

Возможно, вы заметили, что Podman также может посмотреть на docker.io образы контейнеров. Это связано с тем, что команды Podman и команды Docker по сути одинаковы - настолько, что иногда рекомендуется использовать псевдоним команды docker для podman следующим образом:

Это означает, что каждый раз, когда вы вводите docker, ваш компьютер все равно будет запускать команду podman.

Безродный подман

Чтобы настроить вашу систему для работы с контейнерами без root, необходимо выполнить некоторые настройки, но на их странице Github есть отличная документация.

Надеюсь, вам понравился этот учебник по Podman, отличному маленькому инструменту, который позволит вам запускать контейнеры без демонов и root, чтобы ваша система оставалась простой, аккуратной и безопасной. Если вы это сделали, обязательно ознакомьтесь с некоторыми из других наших контейнеров, например, с нашими руководствами по запуску Ubuntu в контейнерах в ChromeOS, копирование контейнеров Docker на другой хост и ограничение ресурсов контейнера Docker.

По теме: