URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 135526
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Использование инструментария Podman для запуска контейнеров во FreeBSD"

Отправлено auto_tips , 08-Дек-24 20:30 
Начиная с выпуска FreeBSD 14.2 стали формироваться [[https://download.freebsd.org/releases/OCI-IMAGES/14.2-RELEASE/ образы контейнеров]] в формате  OCI (Open Container Initiative). Для запуска контейнеров на основе этих образов можно применять инструментарий Podman, который портирован для FreeBSD и доступен для установки из пакетов.

Для загрузки предложены три варианта образов FreeBSD:

** static - урезанное окружение для выполнения только статически собранных исполняемых файлов
** dynamic - расширенный вариант окружения static с компонентами для использования разделяемых библиотек и запуска динамически скомпонованных исполняемых файлов.
** minimal - дополняет вариант dynamic утилитами для формирования привычного консольного окружения с UNIX shell и пакетным менеджером.


Установка  Podman во FreeBSD.

   pkg install -r FreeBSD -y podman-suite emulators/qemu-user-static

Настройка ZFS-раздела для контейнеров:

   zfs create -o mountpoint=/var/db/containers zroot/containers
   zfs snapshot zroot/containers@empty

При желании использовать USF вместо ZFS в /usr/local/etc/containers/storage.conf заменяем "zfs"/driver на "vfs":

   sed -I .bak -e 's/driver = "zfs"/driver = "vfs"/' \
       /usr/local/etc/containers/storage.conf

Создаём конфигурацию межсетевого экрана PF - /etc/pf.conf, используя пример /usr/local/etc/containers/pf.conf.sample. Перезапускаем PF

   sysctl net.pf.filter_local=1
   service pf restart

Монтируем /dev/fd:

   mount -t fdescfs fdesc /dev/fd


Создаём необходимые для Podman файлы конфигурации, используя примеры:

   /usr/local/etc/containers/containers.conf.sample
   /usr/local/etc/containers/policy.json.sample
   /usr/local/etc/containers/registries.conf.sample
   /usr/local/etc/containers/storage.conf.sample


Устанавливаем образы контейнеров minimal, dynamic и static с FreeBSD 4.2:

   export OCIBASE=https://download.freebsd.org/releases/OCI-IMAGES/14.2-RELEAS...
   podman load -i=$OCIBASE/FreeBSD-14.2-RELEASE-amd64-container-image-minimal.txz
   podman load -i=$OCIBASE/FreeBSD-14.2-RELEASE-amd64-container-image-dynamic.txz
   podman load -i=$OCIBASE/FreeBSD-14.2-RELEASE-amd64-container-image-static.txz

Проверяем список установленных образов контейнеров командами "podman images" и "buildah images":

   podman images

   REPOSITORY                   TAG                 IMAGE ID      CREATED     SIZE
   localhost/freebsd14-minimal  14.2-RELEASE-amd64  c5f3e77557a9  4 days ago  35.1 MB
   localhost/freebsd14-dynamic  14.2-RELEASE-amd64  ebf7538b22f4  4 days ago  15.9 MB
   localhost/freebsd14-static   14.2-RELEASE-amd64  7876fe59dbb3  4 days ago  5.45 MB


   buildah images

   REPOSITORY                    TAG                  IMAGE ID       CREATED      SIZE
   localhost/freebsd14-minimal   14.2-RELEASE-amd64   c5f3e77557a9   4 days ago   35.1 MB
   localhost/freebsd14-dynamic   14.2-RELEASE-amd64   ebf7538b22f4   4 days ago   15.9 MB
   localhost/freebsd14-static    14.2-RELEASE-amd64   7876fe59dbb3   4 days ago   5.45 MB

Анализируем слои, образующие образ minimal, который является надстройкой над образами static и dynamic:

   podman image tree localhost/freebsd14-minimal:14.2-RELEASE-amd64

   Image ID: c5f3e77557a9
   Tags:     [localhost/freebsd14-minimal:14.2-RELEASE-amd64]
   Size:     35.07MB
   Image Layers
   ├── ID: cd53fb07fb66 Size: 5.449MB Top Layer of: [localhost/freebsd14-static:14.2-RELEASE-amd64]
   ├── ID: a01d37f7777b Size:  10.4MB Top Layer of: [localhost/freebsd14-dynamic:14.2-RELEASE-amd64]
   └── ID: 36b0c80ca1f7 Size: 19.21MB Top Layer of: [localhost/freebsd14-minimal:14.2-RELEASE-amd64]


Сверяем контрольные суммы образов:

   podman inspect localhost/freebsd14-minimal:14.2-RELEASE-amd64

Запускаем /bin/sh в контейнере:

   podman run -it localhost/freebsd14-minimal:14.2-RELEASE-amd64 /bin/sh


URL: https://people.freebsd.org/~dch/posts/2024-12-04-freebsd-con.../
Обсуждается: http://www.opennet.me/tips/info/3262.shtml


Содержание

Сообщения в этом обсуждении
"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено нах. , 08-Дек-24 20:30 
Троллейбус из редхатовской буханки. Но зачем?

У нас есть jail, не требующий приседаний с подвыподвертом.

Хочешь целиком ос в джейле, хошь отдельное приложение изолируй - причем так и настолько как тебе кажется нужным, а не докер в докере под докером "и еще, вот, можно мапы".

а ни один обычный oci контейнер не запустится, потому что внутри них - linoooops only кот.

Обратите внимание - даже сам докер не пошел этим путем, его (коммерческая, а вы как хотели!) версия под винду использует виртуальную машину. Да, неэффективно, зато работают как в родном линуксе. Потому что это он и есть. А модные современные разработчики никогда эффективностью и не парились, они ничего не заметят.

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


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Редхат , 09-Дек-24 00:07 
За тем, что podman позволяет декларативно описывать контейнеры (и их группы) с помощью кубероподобных манифестов.

А также за тем, что OCI позволяет с помощью docker-манифестов описывать и воспроизводить готовые бинарные окружения.

Есть люди, которые ценят своё время и podman -- отличный инструмент, чтобы своё время экономить.


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено нах. , 09-Дек-24 14:14 
там вон выше - инструкция с неочевидными местами на минимум сорок минут интенсивной е6ли. Вместо одной команды jail /where wtf ...

Для ценящих свое время декларативных описателей, оф кос!


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено А , 09-Дек-24 19:04 
Да не надо тут. Ваш архаичный джаил так и застрял в академиях на лекциях у РМС. Все равно, что пиарить Паскаль.

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено нах. , 09-Дек-24 20:29 
> Да не надо тут. Ваш архаичный джаил

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

В общем-то очередной знак что проект freebsd понабрал по объявлениям людей, не разбирающихся во freebsd, и тащащих туда любой мусор потому что грант сам себя не попилит.

Что им не сиделось в ли... любимой дисяточке - единственной ос которую они смогли хорошо освоить - совершенно непонятно. (а, да, там грантов не дают)


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено А , 10-Дек-24 01:43 
Когда все используют новое, старпёры охают и разводят руками, т.к. новое им уже не осилить. Они молятся на мажорные обновы своих бсд, где что ни релиз, так пару-тройку новых сисколлов в анонсе. Нуу, достижение, да. А ZFS пилят линуксовое, в то же время.

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 14-Дек-24 15:58 
> А ZFS пилят линуксовое, в то же время.

Какое линуксовое? Которое взяли из соляриса благодаря тому что во FreeBSD исходники открыты были, и Oracle (благодетель линуховый) не смог всё позакрывать?

Ну и кто тут линуксовый?
"Recently, Klara developed a new capability for ZED for a customer, and upstreamed it to OpenZFS, allowing ZED to automatically react to a slow disk."

Покажи мне, кто из кларасистемс для линукса пишет?
А ещё лучше покажи, кто из линукса пишет для FreeBSD.

Когда же до вас дойдёт, что OpenZFS - это совместный проект, а ZoL давно помер.


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено sysrise , 15-Дек-24 02:12 
И не маловажный фактор для каких целей были созданы сами ОС, FreeBSD как серверная платфома и Linux который позиционировался как Desktop система в альтернативу уже имеющимся остальным. Следовательно, задачи и "внутренности" естественно отличаются, поэтому глупо рассуждать что лучше, а что хуже не рассматривая конкретной цели. FreeBSD весьма хороша как серверная платформа, по мне так лучше нынешних LinuxServer. И у каждой есть свои минусы, нет идеального даже в самой природе.

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 15-Дек-24 10:18 
Иксы создавались на BSD (на лабораторных компах в MIT и на Sun Microsystems), а на Linux их потом портировали. И изначально не он позиционировался как Desktop-система.

Системы, которые действительно позиционировались как десктопные - это системы от компаний Apple и Microsoft.
И эти компании внимательно следили за разработкой MIT.


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 17-Дек-24 12:43 
> А ZFS пилят линуксовое

Распространённая дезинформация. Было два ZFS: ZFS FreeBSD и ZFS on Linux. Они объединились в OpenZFS. Так что, FreeBSD не использует ZFS on Linux. Это общая кодовая база. Более того, из-за слияния в Linux стали доступны новые фичи.


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 10-Дек-24 02:21 
Господи, ты уже пять лет под каждой новостью ноешь о том, как всё плохо, какие все некомпетентные и как раньше было хорошо, какие прекрасные были люди и инженеры.

Причём на каждый аргумент сразу начинаешь брызжать слюной, коверкать слова и сетовать на молодёжь.

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


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 01-Фев-25 03:32 
Точно дольше чем пять.

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 13-Дек-24 10:57 
текст можно не читать, сразу идти к источнику, но все равно не понятно зачем qemu, неужели будут не контейнеры, а виртуализация

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено myster , 24-Дек-24 17:33 
Насколько я понял, Qemu использует полную эмуляцию только, если архитектура не совпадает. Это, как в macOS, там если Rosetta не затащила трансляцию, запускает через Qemu.

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Илья , 04-Янв-25 09:24 
> если Rosetta не затащила трансляцию, запускает через Qemu.

Смешались в кучу кони, люди.


"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено myster , 05-Янв-25 18:40 
да, но кто понял тот понял

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 21-Янв-25 14:32 
А подскажите люди добрые, как запускать podman контейнер
так, чтобы он имел имя и всегда удалял после себя созданный мусор.
То есть мне его state не нужен, такой pure запуск каждый раз

"Использование инструментария Podman для запуска контейнеров во FreeBSD"
Отправлено Аноним , 01-Фев-25 03:41 
podman run --rm --name foobar imagen

Если под него нужны временные волюмы и сети, то лучше использовать compose.yaml и docker-compose, там команда down с нужными опциями чистит всё. Он отлично работает с podman, только DOCKER_HOST прописать нужно и запустить сервис podman, который создаст сокет и будет слушать обращения от docker-compose или других утилит к себе. По умолчанию сервис не включается и такого сокета нет, они не нужны для работы подмэна, но для совместимости с софтом на хосте, который ожидает присутствия докера, он нужен.

podman-compose не советую. Он есть, но там не хватает многих функций, а часть не работает. Пару лет назад было так, не знаю как сейчас.