Wyszukiwanie w witrynie

Toolbx: Zarządzanie wieloma kontenerami deweloperskimi w Fedorze


Nowoczesny rozwój na Linuksie przeszedł poza tradycyjne podejście polegające na instalowaniu wszystkiego bezpośrednio na systemie. Obecnie masz dostęp do narzędzi, które pomagają tworzyć izolowane środowiska deweloperskie bez obciążenia wynikającego z pełnych maszyn wirtualnych czy złożoności ręcznego zarządzania kontenerami.

To właśnie tutaj wchodzi w grę Fedora Toolbx – narzędzie, które umożliwia łatwe uruchamianie konteneryzowanych środowisk deweloperskich, zachowując przy tym doświadczenie tak płynne, jak praca bezpośrednio na systemie hosta.

W tym przewodniku dowiesz się, jak skonfigurować i używać Fedora Toolbx, aby tworzyć środowiska deweloperskie, które są izolowane, powtarzalne i łatwe do zarządzania. Poznasz, jak Toolbx pomaga pracować nad wieloma projektami z konfliktującymi zależnościami, jednocześnie utrzymując Twój system podstawowy w czystości i porządku.

Przewodnik wprowadza Cię w podstawy Toolbx za pomocą prostych i praktycznych wyjaśnień. Najpierw dowiesz się, czym jest Toolbx i dlaczego go potrzebujesz, a następnie przejdziesz do instalacji i konfiguracji na swoim systemie Fedora. Potem stworzysz swój pierwszy kontener deweloperski i nauczysz się, jak skutecznie zarządzać wieloma środowiskami.

Ostatnie sekcje pokazują popularne procesy robocze i najlepsze praktyki, które pomogą Ci w pełni wykorzystać Toolbx w codziennej pracy developerskiej.

Uwaga: Toolbx został pierwotnie opracowany dla Fedora i działa najlepiej na systemach opartych na Fedorze, choć można go również używać na innych nowoczesnych dystrybucjach Linuxa, jednak ten przewodnik skupia się głównie na Fedorze.

Zrozumienie Toolbx: Co czyni go wyjątkowym

Zanim zaczniesz pracę z Toolbx, ważne jest, aby zrozumieć, co on tak naprawdę robi i dlaczego potrzebujesz go w swoim procesie tworzenia oprogramowania.

Toolbx tworzy środowiska w kontenerach przy użyciu Podman, który jest silnikiem kontenerów podobnym do Docker, ale działa bez demona.

To, co wyróżnia Toolbx, to sposób, w jaki ściśle integruje te kontenery z systemem gospodarza, zapewniając płynne doświadczenie w tworzeniu oprogramowania, które nie jest ograniczające jak tradycyjne kontenery.

Kiedy pracujesz z kontenerami Toolbx, zyskujesz kilka kluczowych korzyści, które ułatwiają Twoją pracę nad rozwojem oprogramowania:

  • Bezproblemowy dostęp do katalogu domowego – Twój katalog domowy jest automatycznie montowany w kontenerze, co oznacza, że twoje pliki, konfiguracje i klucze SSH są od razu dostępne bez dodatkowej konfiguracji.
  • Bezpośredni dostęp do sprzętu – Grafika, dźwięk i inne urządzenia działają od razu, bez potrzeby specjalnej konfiguracji czy skomplikowanych procedur montażu.
  • Integracja z hostem – Możesz uruchamiać aplikacje graficzne, uzyskiwać dostęp do sieci i wchodzić w interakcje z systemem tak, jakbyś pracował bezpośrednio na swoim systemie hosta, a nie wewnątrz kontenera.

Możesz myśleć o Toolbx jak o tworzeniu chronionej “bąbelkowej” przestrzeni wokół twoich narzędzi programistycznych i zależności. Wewnątrz tego bąbelka możesz instalować dowolne pakiety, biblioteki lub narzędzia potrzebne do konkretnego projektu, nie wpływając przy tym na główny system.

W następnych sekcjach dowiesz się, jak zainstalować Toolbx na swoim systemie Fedora i rozpocząć tworzenie tych izolowanych środowisk deweloperskich.

Instalowanie Toolbx na Fedorze

Na Fedora Workstation (wersja 28 i nowsze), toolbx jest wstępnie zainstalowany, i możesz to sprawdzić, uruchamiając następujące polecenie.

toolbox --version

Jeśli zobaczysz numer wersji, jesteś gotowy, jeśli Toolbx nie jest zainstalowany, możesz go dodać za pomocą:

sudo dnf install toolbox

Zainstaluj Toolbx na Fedorze

To wszystko jeśli chodzi o instalację. Brak skomplikowanych plików konfiguracyjnych, brak ustawiania demona, brak dodatkowych zależności do martwienia się.

Tworzenie Twojego Pierwszego Kontenera Toolbx

Tworzenie kontenera Toolbx jest prostym procesem, który można zakończyć za pomocą zaledwie jednej komendy, która utworzy domyślny kontener na podstawie Twojej aktualnej wersji Fedory.

Jeśli na przykład używasz Fedora 41, automatycznie zostanie utworzony dla Ciebie kontener Fedora 41. Pierwszy raz, gdy uruchomisz to polecenie, Toolbx pobierze obraz kontenera, co zajmuje kilka minut, w zależności od prędkości połączenia internetowego.

toolbox create

Tworzenie pierwszego kontenera narzędzi

Po utworzeniu kontenera możesz do niego wejść, uruchamiając następujące polecenie:

toolbox enter

Dostęp do kontenera Docker po jego utworzeniu

Zauważysz małą ikonę kontenera (⬢), która pojawia się w wierszu poleceń, co oznacza, że znajdujesz się wewnątrz swojego kontenera Toolbx.

Nawet jeśli pracujesz w środowisku konteneryzowanym, zauważysz, że Twój katalog domowy, pliki i większość środowiska systemu gospodarza pozostają łatwo dostępne, tak jak na głównym systemie.

Używanie różnych wersji Fedory

Czasami musisz pracować z konkretną wersją Fedory, być może twoje serwery produkcyjne działają na starszej wersji, albo chcesz przetestować kompatybilność z najnowszą wersją przed aktualizacją głównego systemu.

Toolbx ułatwia to dzięki opcji --release lub -r:

toolbox create --release 39 fedora39-container
toolbox create --release 41 testing-fedora41

Możesz nawet korzystać z kontenerów z starszych wersji Fedory, podczas gdy na swoim systemie hosta używasz nowszej wersji, co daje wygodny sposób na utrzymanie kompatybilności z różnymi środowiskami.

Testowanie Twojego środowiska kontenera

Aby sprawdzić, czy faktycznie znajdujesz się w kontenerze i zobaczyć, czym różni się on od systemu gospodarza, możesz uruchomić kilka prostych poleceń, na przykład sprawdzić, które pakiety są zainstalowane.

dnf list installed | wc -l

Możesz także sprawdzić nazwę hosta kontenera:

hostname

Aby zobaczyć bieżący katalog roboczy i sprawdzić, czy katalog domowy jest dostępny:

pwd
ls -la

Zauważysz, że znajdujesz się w swoim katalogu domowym z wszystkimi znanymi plikami i folderami, nawet jeśli jesteś wewnątrz kontenera.

Wykonaj polecenia wewnątrz uruchomionego kontenera Toolbox

Instalowanie oprogramowania wewnątrz kontenera

Teraz, gdy jesteś wewnątrz kontenera, możesz instalować narzędzia deweloperskie bez wpływu na system hosta. Na przykład, jeśli chcesz skonfigurować środowisko do rozwijania w Pythonie:

sudo dnf install python3-pip python3-virtualenv git vim -y

Jeśli wyjdziesz z kontenera i sprawdzisz swój system główny, te pakiety nie będą tam zainstalowane, istnieją tylko w Twoim środowisku Toolbx.

Skonfiguruj środowisko Pythona w kontenerze Toolbox

Spróbujmy kolejnego przykładu z narzędziami do tworzenia aplikacji w Node.js.

sudo dnf install nodejs npm -y
node --version
npm --version

Te polecenia instalują Node.js i npm, a następnie weryfikują instalację, sprawdzając ich wersje. Ponownie, ta instalacja jest całkowicie odizolowana od Twojego systemu operacyjnego.

Kiedy skończysz pracę w swoim kontenerze, możesz z niego wyjść, po prostu uruchamiając:

exit

Tworzenie nazwanych kontenerów dla różnych projektów

Chociaż domyślny kontener sprawdza się w ogólnych pracach deweloperskich, często będziesz potrzebować osobnych kontenerów dla różnych projektów lub konkretnych celów. Tworzenie kontenerów z nazwami pomoże ci lepiej organizować środowiska deweloperskie i utrzymać izolację pracy.

Aby utworzyć kontenery z nazwami, należy uruchomić polecenie toolbox create, a następnie wpisać nazwę, którą chcesz nadać kontenerowi:

toolbox create python-dev
toolbox create nodejs-project
toolbox create rust-experiments

Każde z tych poleceń tworzy oddzielny kontener z własnym, izolowanym środowiskiem. Gdy chcesz pracować nad konkretnym projektem, wchodzisz do odpowiedniego kontenera, podając jego nazwę za pomocą polecenia enter:

toolbox enter python-dev

To podejście pomaga utrzymać całkowicie odizolowane środowiska dla różnych rodzajów pracy programistycznej. Na przykład twój kontener Python może uruchamiać Python 3.12 ze wszystkimi nowoczesnymi zależnościami, podczas gdy kontener dla starszego projektu może używać Python 3.8 ze starszymi bibliotekami, a żadne z tych środowisk nie będzie zakłócać drugiego ani wpływać w jakikolwiek sposób na system hosta.

Uruchamianie aplikacji graficznych z Toolbx

To, co sprawia, że Toolbx jest naprawdę wyjątkowy, to jego zdolność do płynnego uruchamiania aplikacji graficznych bezpośrednio w kontenerach. W przeciwieństwie do tradycyjnych kontenerów, które wymagają skomplikowanej konfiguracji i ustawień X11.

Toolbx obsługuje całą integrację wyświetlania automatycznie, dzięki czemu wygląda, jakbyś uruchamiał aplikacje bezpośrednio na swoim systemie gospodarza.

Aby zobaczyć, jak to działa w praktyce, zainstalujmy i uruchommy graficzny edytor tekstu jako przykład.

toolbox enter
sudo dnf install gedit -y

Po zakończeniu instalacji możesz uruchomić edytor.

gedit &

Okno gedit otwiera się na twoim pulpicie tak, jakbyś uruchomił je z systemu gospodarza. Możesz tworzyć, edytować i zapisywać pliki, a wszystko działa dokładnie tak, jak byś się tego spodziewał.

Ampersand (&) na końcu uruchamia aplikację w tle, pozwalając na dalsze korzystanie z terminala, podczas gdy aplikacja graficzna pozostaje otwarta.

Uruchamianie aplikacji GUI wewnątrz kontenerów Toolbox

Zarządzanie wieloma kontenerami Toolbx

W miarę tworzenia kolejnych kontenerów dla różnych projektów będziesz potrzebować sposobu na ich śledzenie i skuteczne zarządzanie nimi. Toolbx oferuje kilka poleceń, które pomagają przeglądać, kontrolować i organizować swoje środowiska kontenerowe.

Wyświetlanie Twoich Kontenerów

Aby zobaczyć wszystkie kontenery, które utworzyłeś, użyj polecenia listy:

toolbox list

Przeglądanie wszystkich kontenerów narzędziowych w systemie

Z tego wyniku możesz zobaczyć, które kontenery są obecnie uruchomione, a które zostały zakończone.

Sprawdzanie szczegółów kontenera

Jeśli chcesz uzyskać bardziej szczegółowe informacje o konkretnym kontenerze, możesz korzystać bezpośrednio z Podman, ponieważ kontenery Toolbx są zwykłymi kontenerami Podman:

podman ps -a

Możesz również sprawdzić konkretny kontener, aby zobaczyć jego pełną konfigurację:

podman inspect python-dev

Uzyskaj szczegółowe informacje o kontenerze Toolbox przy użyciu Podman

Zatrzymywanie i uruchamianie działających kontenerów

Kiedy skończysz pracę w kontenerze i chcesz zwolnić zasoby systemowe, możesz go zatrzymać wprost.

podman stop python-dev

Możesz sprawdzić, czy kontener został zatrzymany, uruchamiając ponownie polecenie listy:

toolbox list

Zobaczysz, że status kontenera zmienił się z „uruchomiony” na „zakończony”.

Zatrzymywanie działających kontenerów Toolbx

Jeśli masz kontener, który jest obecnie zatrzymany i chcesz go ponownie użyć, po prostu wejdź do niego, a Toolbx automatycznie go uruchomi:

toolbox enter python-dev

Usuwanie kontenerów, których już nie potrzebujesz

Z biegiem czasu możesz zgromadzić kontenery, których już nie używasz, a te kontenery zajmują miejsce na dysku w twoim systemie. Gdy jesteś pewien, że nie potrzebujesz już kontenera, możesz go całkowicie usunąć za pomocą polecenia rm:

toolbox rm python-dev

Przed usunięciem kontenera, Toolbx poprosi Cię o potwierdzenie tej akcji, wystarczy wpisać y, aby potwierdzić, a Toolbx usunie kontener wraz ze wszystkimi pakietami i konfiguracjami, które w nim zainstalowałeś.

Ważna uwaga: Usunięcie kontenera usuwa wszystkie pakiety, konfiguracje systemowe oraz wszelkie dane przechowywane w systemie plików kontenera, ale pliki w katalogu domowym pozostają całkowicie bezpieczne.

Po usunięciu możesz sprawdzić użycie dysku przez wszystkie kontenery, obrazy i wolumeny za pomocą:

podman system df

Wyświetl miejsce na dysku zajmowane przez zasoby Toolbx

Jeśli chcesz zwolnić miejsce na dysku, usuwając wszystkie zatrzymane kontenery i nieużywane obrazy, możesz uruchomić polecenie czyszczenia:

podman system prune
Wniosek

Toolbx daje Ci potężny sposób zarządzania środowiskami programistycznymi na Twoim systemie Fedora, bez złożoności tradycyjnych maszyn wirtualnych.

W całym tym przewodniku nauczyłeś się, jak tworzyć izolowane kontenery, uruchamiać aplikacje graficzne oraz zarządzać wieloma środowiskami deweloperskimi, jednocześnie utrzymując czysty system bazowy.

Czy ten poradnik był dla Ciebie pomocny? Podziel się swoimi doświadczeniami, pytaniami lub wskazówkami w komentarzach poniżej. Twoja opinia pomaga nam ulepszać nasze treści i wspiera innych czytelników w ich podróży z Toolbx. :