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

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

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

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

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

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

их в изолированных средах.

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

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

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

Архитектура без демонов приводит к появлению так называемых контейнеров без корней. Эта концепция основана на предыдущем отличии, но фокусируется н

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

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

Установка Podman

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

# Debian/Ubuntu
sudo apt install podman
 
# Fedora/CentOS/Redhat
sudo dnf install podman
 
# Arch Linux
sudo pacman -S podman
 
# OpenSUSE
sudo zypper install podman
 
# Gentoo
sudo emerge app-emulation/podman

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

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

podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d \
-e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf \
-e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \
registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd
Подман Бег<

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

Чтобы проверить запущенные кон

Установка Podman

ледующую команду:

podman ps
Подман П.С.

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

curl http://0.0.0.0:8080

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

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

таксис заголовка в HTML и поймете, что он работает.

<title>Test Page for the Apache HTTP Server on Fedora</title>

Изображения Подмана

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

podman search CONTAINERNAME

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

Поиск Подмана

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

podman pull CONTAINERNAME

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

podman pull docker.io/michaelaboeckler/vncserver

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

Подман Пулл

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

podman images

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

podman stop -l

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

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

alias docker='podman'

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

Безродный подчеловек

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

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

Изображения Подмана

ntist.ru/2019/09/27/zapustit-konteyner-ubuntu-v-chrome-os/" class="ek-link" title="запуск Ubuntu в контейнере в ChromeOS">запуск Ubuntu в контейнере в ChromeOS , копирование контейнеров Docker на другой хост и ограничение ресурсов Docker-контейнера .

Безродный подчеловек

ПОХОЖИЕ СТАТЬИ

Популярные записи