Toolbx: Управление несколькими контейнерами разработки в Fedora
Современная разработка на Linux отошла от традиционного подхода установки всего прямо на вашу систему. Теперь у вас есть доступ к инструментам, которые помогают создавать изолированные среды разработки без необходимости использовать полноценные виртуальные машины или справляться со сложностью ручного управления контейнерами.
И вот здесь на сцену выходит Fedora Toolbx — инструмент, который упрощает создание контейнеризованных сред разработки, при этом делая процесс таким же плавным, как работа прямо на вашей основной системе.
В этом руководстве вы узнаете, как настроить и использовать Fedora Toolbx для создания изолированных, воспроизводимых и легко управляемых сред разработки. Вы изучите, как Toolbx помогает работать над несколькими проектами с конфликтующими зависимостями, при этом сохраняя вашу базовую систему чистой и организованной.
Это руководство познакомит вас с основами Toolbx с простыми и практичными объяснениями. Сначала вы узнаете, что такое Toolbx и зачем он нужен, затем перейдёте к установке и настройке его на вашей системе Fedora. После этого вы создадите свой первый контейнер для разработки и поймёте, как эффективно управлять несколькими средами.
В последних разделах показаны общие рабочие процессы и лучшие практики, которые помогут вам максимально эффективно использовать Toolbx в вашей повседневной работе разработчика.
Примечание: Toolbx изначально разрабатывался для Fedora и лучше всего работает на системах на базе Fedora, хотя вы можете использовать его и на других современных дистрибутивах Linux, но данное руководство сосредоточено в первую очередь на Fedora.
Понимание Toolbx: чем он отличается
Прежде чем начать работать с Toolbx, важно понять, что он на самом деле делает и почему он вам нужен в процессе разработки.
Toolbx создаёт контейнеризированные среды с использованием Podman, который является контейнерным движком, похожим на Docker, но работает без демона.
То, что выделяет Toolbx, это то, как плотно он интегрирует эти контейнеры с вашей основной системой, обеспечивая бесшовный опыт разработки, который не ощущается ограничивающим, как традиционные контейнеры.
Когда вы работаете с контейнерами Toolbx, вы получаете несколько ключевых преимуществ, которые облегчают вашу разработку:
- Бесшовный доступ к домашнему каталогу – ваш домашний каталог автоматически монтируется в контейнер, что означает, что ваши файлы, настройки и SSH-ключи сразу же доступны без дополнительной настройки.
- Прямой доступ к оборудованию – графика, звук и другие устройства работают сразу, без необходимости специальной настройки или сложных процедур подключения.
- Интеграция с хостом – Вы можете запускать графические приложения, получать доступ к сети и взаимодействовать с вашей системой так, как если бы вы работали прямо на хост-системе, а не внутри контейнера.
Вы можете рассматривать Toolbx как создание защищённой “пузырьковой” среды вокруг ваших инструментов разработки и зависимостей. Внутри этого пузыря вы можете устанавливать любые пакеты, библиотеки или инструменты, необходимые для конкретного проекта, без влияния на основную систему.
В следующих разделах вы узнаете, как установить Toolbx на вашу систему Fedora и начать создавать эти изолированные среды разработки.
Установка Toolbx на Fedora
На Fedora Workstation (версии 28 и выше) toolbx установлен по умолчанию, и вы можете проверить это, выполнив следующую команду.
toolbox --version
Если вы видите номер версии, значит вы готовы к работе. Если Toolbx не установлен, вы можете добавить его с помощью:
sudo dnf install toolbox
На этом установка завершена. Никаких сложных конфигурационных файлов, настройки демонов или дополнительных зависимостей не требуется.
Создание вашего первого контейнера Toolbx
Создание контейнера Toolbx — это простой процесс, который можно выполнить всего одной командой, создающей контейнер по умолчанию на основе вашей текущей версии Fedora.
Если вы, например, используете Fedora 41, она автоматически создаёт для вас контейнер Fedora 41. При первом запуске этой команды Toolbx загружает образ контейнера, что занимает несколько минут в зависимости от скорости вашего интернет-соединения.
toolbox create
После того как контейнер создан, вы можете войти в него, выполнив следующую команду:
toolbox enter
Вы заметите маленький значок контейнера (⬢), который появляется в командной строке и указывает, что вы находитесь внутри вашего контейнера Toolbx.
Даже если вы работаете в контейнеризованной среде, вы обнаружите, что ваш домашний каталог, ваши файлы и большая часть среды вашей хост-системы остаются доступными так же, как на основной системе.
Использование разных версий Fedora
Иногда нужно работать с определённой версией Fedora, возможно, ваши производственные серверы используют более старую версию, или вы хотите проверить совместимость с последней версией перед обновлением основной системы.
Toolbx облегчает это с помощью флага --release или -r:
toolbox create --release 39 fedora39-container
toolbox create --release 41 testing-fedora41
Вы даже можете использовать контейнеры из старых версий Fedora, работая на более новой версии на вашем хосте, что обеспечивает удобный способ поддерживать совместимость с различными средами.
Тестирование вашей контейнерной среды
Чтобы убедиться, что вы действительно находитесь внутри контейнера и увидеть, чем он отличается от вашей хост-системы, вы можете выполнить несколько простых команд, например, проверить, какие пакеты установлены.
dnf list installed | wc -l
Вы также можете проверить имя хоста контейнера:
hostname
Чтобы увидеть текущую рабочую директорию и проверить доступность вашей домашней директории:
pwd
ls -la
Вы заметите, что находитесь в своем домашнем каталоге с видимыми всеми привычными файлами и папками, даже находясь внутри контейнера.
Установка программного обеспечения внутри вашего контейнера
Теперь, когда вы находитесь внутри контейнера, вы можете устанавливать инструменты для разработки, не влияя на вашу основную систему. Например, если вы хотите настроить среду разработки на Python:
sudo dnf install python3-pip python3-virtualenv git vim -y
Если вы выйдете из контейнера и проверите свою хост-систему, эти пакеты там установлены не будут, они существуют только внутри вашего Toolbx окружения.
Давайте попробуем другой пример с инструментами разработки Node.js.
sudo dnf install nodejs npm -y
node --version
npm --version
Эти команды устанавливают Node.js и npm, а затем проверяют установку, проверяя их версии. Снова отмечаем, что эта установка полностью изолирована от вашей основной системы.
Когда вы закончите работать в своем контейнере, вы можете выйти из него, просто выполнив:
exit
Создание именованных контейнеров для разных проектов
Хотя контейнер по умолчанию подходит для общей разработки, часто нужны отдельные контейнеры для разных проектов или конкретных целей. Создание именованных контейнеров помогает более эффективно организовать ваши среды разработки и изолировать работу.
Чтобы создать именованные контейнеры, выполните команду toolbox create, а затем укажите имя, которое вы хотите присвоить своему контейнеру:
toolbox create python-dev
toolbox create nodejs-project
toolbox create rust-experiments
Каждая из этих команд создаёт отдельный контейнер с собственной изолированной средой. Когда вы хотите работать над конкретным проектом, вы заходите в соответствующий контейнер, указав его имя с помощью команды enter:
toolbox enter python-dev
Этот подход помогает поддерживать полностью изолированные среды для разных типов разработки. Например, ваш контейнер с Python может использовать Python 3.12 со всеми современными зависимостями, в то время как контейнер для старого проекта может использовать Python 3.8 с устаревшими библиотеками, и ни одна среда не будет мешать другой или как-либо влиять на вашу основную систему.
Запуск графических приложений из Toolbx
Что делает Toolbx по-настоящему особенным, так это его способность беспрепятственно запускать графические приложения прямо из ваших контейнеров. В отличие от традиционных контейнеров, которые требуют сложной настройки и конфигурации X11.
Toolbx автоматически обрабатывает всю интеграцию отображения, создавая ощущение, что вы запускаете приложения прямо на вашей основной системе.
Чтобы увидеть, как это работает на практике, давайте установим и запустим графический текстовый редактор в качестве примера.
toolbox enter
sudo dnf install gedit -y
После завершения установки вы можете запустить редактор.
gedit &
Окно gedit открывается на вашем рабочем столе так, как если бы вы запустили его из вашей основной системы. Вы можете создавать, редактировать и сохранять файлы, и всё работает точно так, как вы ожидаете.
Амперсанд (&) в конце запускает приложение в фоновом режиме, позволяя продолжать пользоваться терминалом, пока графическое приложение остаётся открытым.
Управление несколькими контейнерами Toolbox
По мере создания большего количества контейнеров для разных проектов вам понадобится способ отслеживать их и эффективно управлять ими. Toolbx предоставляет несколько команд, которые помогают просматривать, контролировать и организовывать ваши контейнеризированные среды.
Список ваших контейнеров
Чтобы увидеть все созданные вами контейнеры, выполните команду list:
toolbox list
Из этого вывода вы можете увидеть, какие контейнеры запущены в данный момент, а какие завершили работу.
Проверка деталей контейнера
Если вы хотите получить более подробную информацию о конкретном контейнере, вы можете использовать Podman напрямую, так как контейнеры Toolbx являются обычными контейнерами Podman:
podman ps -a
Вы также можете просмотреть конкретный контейнер, чтобы увидеть его полную конфигурацию:
podman inspect python-dev
Остановка и запуск работающих контейнеров
Когда вы заканчиваете работу в контейнере и хотите освободить системные ресурсы, вы можете явно его остановить.
podman stop python-dev
Вы можете убедиться, что контейнер остановлен, снова выполнив команду списка:
toolbox list
Вы увидите, что статус контейнера изменился с «работает» на «завершено».
Если у вас есть контейнер, который в данный момент остановлен, и вы хотите использовать его снова, просто enter в него, и Toolbx автоматически запустит его для вас:
toolbox enter python-dev
Удаление ненужных контейнеров
Со временем вы можете накопить контейнеры, которыми больше не пользуетесь, и эти контейнеры занимают место на диске вашей системы. Когда вы уверены, что контейнер больше не нужен, вы можете полностью удалить его с помощью команды rm:
toolbox rm python-dev
Перед удалением контейнера Toolbx попросит вас подтвердить действие, просто введите y для подтверждения, и Toolbx удалит контейнер вместе со всеми пакетами и настройками, которые вы в него установили.
Важное замечание: Удаление контейнера приводит к удалению всех пакетов, системных настроек и любых данных, хранящихся внутри файловой системы контейнера, однако файлы в вашем домашнем каталоге остаются полностью безопасными.
После удаления вы можете проверить использование диска всеми вашими контейнерами, образами и томами с помощью:
podman system df
Если вы хотите освободить место на диске, удалив все остановленные контейнеры и неиспользуемые образы, вы можете выполнить команду очистки:
podman system prune
Заключение
Toolbx предоставляет вам мощный способ управления средами разработки на вашей системе Fedora без сложности традиционных виртуальных машин.
В этом руководстве вы узнали, как создавать изолированные контейнеры, запускать графические приложения и управлять несколькими средами разработки, сохраняя при этом чистоту основной системы.
Нашли это руководство полезным? Поделитесь своим опытом, вопросами или советами в комментариях ниже. Ваши отзывы помогают нам улучшать контент и помогают другим читателям в их путешествии с Toolbx. :









