Zoeken op website

Toolbx: Beheer meerdere ontwikkelingscontainers in Fedora


De moderne Linux-ontwikkeling is verder gegaan dan de traditionele aanpak van alles direct op je systeem installeren. Je hebt nu toegang tot tools die je helpen geïsoleerde ontwikkelomgevingen te creëren zonder te hoeven omgaan met de overlast van volledige virtuele machines of de complexiteit van handmatig containerbeheer.

Hier komt Fedora Toolbx in beeld – een tool die het eenvoudig maakt om gecontaineriseerde ontwikkelomgevingen op te zetten, terwijl de ervaring net zo soepel blijft als werken rechtstreeks op je hostsysteem.

In deze gids leer je hoe je Fedora Toolbx kunt instellen en gebruiken om ontwikkelomgevingen te creëren die geïsoleerd, reproduceerbaar en gemakkelijk te beheren zijn. Je ontdekt hoe Toolbx je helpt om aan meerdere projecten te werken met conflicterende afhankelijkheden, terwijl je je basissysteem schoon en georganiseerd houdt.

De gids begeleidt je door de basisprincipes van Toolbx met eenvoudige en praktische uitleg. Je leert eerst wat Toolbx is en waarom je het nodig hebt, daarna ga je verder met het installeren en instellen ervan op je Fedora-systeem. Vervolgens maak je je eerste ontwikkelingscontainer en leer je hoe je meerdere omgevingen effectief kunt beheren.

De laatste secties laten je veelgebruikte werkstromen en best practices zien die je helpen het meeste uit Toolbx te halen in je dagelijkse ontwikkelwerk.

Opmerking: Toolbx is oorspronkelijk ontwikkeld voor Fedora en werkt het beste op systemen die op Fedora zijn gebaseerd, hoewel je het ook op andere moderne Linux-distributies kunt gebruiken. Deze gids richt zich echter voornamelijk op Fedora.

Toolbx begrijpen: Wat maakt het anders

Voordat je begint met werken met Toolbx, is het belangrijk om te begrijpen wat het eigenlijk doet en waarom je het nodig hebt in je ontwikkelingsworkflow.

Toolbx maakt gecontaineriseerde omgevingen aan met Podman, een container-engine vergelijkbaar met Docker, maar die zonder daemon werkt.

Wat Toolbx onderscheidt, is hoe nauw het deze containers integreert met je hostsysteem, waardoor je een naadloze ontwikkelervaring krijgt die niet beperkend aanvoelt zoals traditionele containers.

Wanneer je met Toolbx containers werkt, krijg je verschillende belangrijke voordelen die je ontwikkelwerk eenvoudiger maken:

  • Naadloze toegang tot de thuismap – Je thuismap wordt automatisch in de container gemonteerd, wat betekent dat je bestanden, configuraties en SSH-sleutels direct beschikbaar zijn zonder extra instellingen.
  • Directe hardwaretoegang – Grafische kaarten, audio- en andere apparaten werken direct zonder speciale configuratie of ingewikkelde installatieprocedures.
  • Hostintegratie – Je kunt grafische toepassingen uitvoeren, toegang krijgen tot het netwerk en met je systeem interactie hebben alsof je rechtstreeks op je hostsysteem werkt in plaats van in een container.

Je kunt Toolbx zien als het creëren van een beschermde “bubble” rond je ontwikkeltools en afhankelijkheden. Binnen deze bubble kun je alle pakketten, bibliotheken of tools installeren die je nodig hebt voor een specifiek project, zonder dat dit invloed heeft op je hoofdsyteem.

In de volgende secties leer je hoe je Toolbx op je Fedora-systeem installeert en begint met het creëren van deze geïsoleerde ontwikkelomgevingen.

Toolbx installeren op Fedora

Op Fedora Workstation (versie 28 en later) is toolbx standaard geïnstalleerd, en je kunt dit verifiëren door het volgende commando uit te voeren.

toolbox --version

Als je een versienummer ziet, ben je klaar om te gaan. Als Toolbx niet is geïnstalleerd, kun je het toevoegen met:

sudo dnf install toolbox

Installeer Toolbx op Fedora

Dat is alles voor de installatie. Geen complexe configuratiebestanden, geen daemon-instellingen, geen extra afhankelijkheden om je zorgen over te maken.

Je eerste Toolbx-container maken

Het aanmaken van een Toolbx-container is een eenvoudig proces dat je met slechts één commando kunt voltooien, waarmee een standaardcontainer wordt gemaakt op basis van je huidige Fedora-versie.

Als je bijvoorbeeld Fedora 41 draait, maakt het automatisch een Fedora 41 container voor je aan. De eerste keer dat je dit commando uitvoert, downloadt Toolbx de containerafbeelding, wat een paar minuten duurt, afhankelijk van de snelheid van je internetverbinding.

toolbox create

Je eerste toolboxcontainer maken

Zodra de container is aangemaakt, kun je deze betreden door de volgende opdracht uit te voeren:

toolbox enter

Toegang krijgen tot uw Docker-container na creatie

Je zult het kleine containerpictogram (⬢) opmerken dat in de prompt verschijnt, wat aangeeft dat je binnen je Toolbx-container bent.

Hoewel je in een gecontaineriseerde omgeving werkt, zul je merken dat je thuisdirectory, je bestanden en het grootste deel van je host-systeemomgeving nog steeds gemakkelijk toegankelijk zijn, net zoals op je hoofd- of primaire systeem.

Het gebruik van verschillende Fedora-versies

Soms moet je met een specifieke Fedora-versie werken, misschien draaien je productieservers een oudere release, of wil je de compatibiliteit met de nieuwste versie testen voordat je je hoofd systeem bijwerkt.

Toolbx maakt dit eenvoudig met de --release of -r vlag:

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

Je kunt zelfs containers van oudere Fedora-versies gebruiken terwijl je een nieuwere versie op je hostsysteem draait, wat je een gemakkelijke manier biedt om compatibiliteit met verschillende omgevingen te behouden.

Het testen van uw containeromgeving

Om te controleren of je daadwerkelijk in de container zit en te zien hoe deze verschilt van je host-systeem, kun je een paar eenvoudige opdrachten uitvoeren, bijvoorbeeld controleren welke pakketten zijn geïnstalleerd.

dnf list installed | wc -l

U kunt ook de hostnaam van de container controleren:

hostname

Om je huidige werkdirectory te zien en te controleren of je home-directory toegankelijk is:

pwd
ls -la

Je zult merken dat je in je thuisdirectory bent met al je vertrouwde bestanden en mappen zichtbaar, zelfs hoewel je in een container zit.

Voer opdrachten uit in een actieve Toolbox-container

Software installeren in je container

Nu je in de container bent, kun je ontwikkeltools installeren zonder je host-systeem te beïnvloeden. Bijvoorbeeld, als je een Python-ontwikkelomgeving wilt opzetten:

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

Als je de container verlaat en je host-systeem controleert, zullen deze pakketten daar niet geïnstalleerd zijn; ze bestaan alleen binnen je Toolbx-omgeving.

Een Python-omgeving opzetten in een Toolbox-container

Laten we een ander voorbeeld proberen met Node.js-ontwikkeltools.

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

Met deze opdrachten installeer je Node.js en npm, en controleer je daarna de installatie door hun versies te bekijken. Ook deze installatie is volledig geïsoleerd van je host-systeem.

Wanneer je klaar bent met werken in je container, kun je deze verlaten door gewoon het volgende uit te voeren:

exit

Genummerde containers maken voor verschillende projecten

Hoewel de standaardcontainer prima werkt voor algemeen ontwikkelingswerk, heb je vaak aparte containers nodig voor verschillende projecten of specifieke doeleinden. Het maken van benoemde containers helpt je om je ontwikkelomgevingen beter te organiseren en je werk gescheiden te houden.

Om benoemde containers te maken, voer je het commando toolbox create uit, gevolgd door de naam die je aan je container wilt geven:

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

Elk van deze opdrachten maakt een afzonderlijke container met een eigen geïsoleerde omgeving. Wanneer je aan een specifiek project wilt werken, ga je de overeenkomstige container binnen door de naam ervan op te geven met het enter-commando:

toolbox enter python-dev

Deze aanpak helpt je volledig geïsoleerde omgevingen te behouden voor verschillende soorten ontwikkelwerk. Zo kan je Python-container bijvoorbeeld Python 3.12 draaien met alle moderne afhankelijkheden, terwijl je legacy-projectcontainer misschien Python 3.8 gebruikt met oudere bibliotheken, zonder dat de ene omgeving de andere beïnvloedt of je hostsysteem op enigerlei wijze raakt.

Grafische toepassingen uitvoeren vanuit Toolbx

Wat Toolbx echt bijzonder maakt, is het vermogen om grafische applicaties naadloos uit te voeren binnen je containers. In tegenstelling tot traditionele containers, die een complexe X11-doorstuurconfiguratie vereisen.

Toolbx verzorgt alle weergave-integratie automatisch, waardoor het voelt alsof je applicaties rechtstreeks op je hostsysteem uitvoert.

Om te zien hoe dit in de praktijk werkt, laten we als voorbeeld een grafische teksteditor installeren en uitvoeren.

toolbox enter
sudo dnf install gedit -y

Zodra de installatie is voltooid, kunt u de editor starten.

gedit &

Het gedit-venster opent op je bureaublad alsof je het vanaf je host-systeem had gestart. Je kunt bestanden aanmaken, bewerken en opslaan, en alles werkt precies zoals je zou verwachten.

Het ampersand (&) aan het einde laat de applicatie op de achtergrond draaien, zodat je je terminal kunt blijven gebruiken terwijl de grafische applicatie open blijft.

GUI-apps uitvoeren binnen Toolbx-containers

Beheren van meerdere Toolbx-containers

Naarmate je meer containers maakt voor verschillende projecten, heb je een manier nodig om ze bij te houden en effectief te beheren. Toolbx biedt verschillende commando's die je helpen om je gecontaineriseerde omgevingen te bekijken, te beheren en te organiseren.

Uw containers weergeven

Om alle containers die je hebt gemaakt te zien, voer je het lijstcommando uit:

toolbox list

Alle toolboxcontainers op uw systeem bekijken

Uit deze uitvoer kun je zien welke containers momenteel draaien en welke zijn gestopt.

Containergegevens controleren

Als je meer gedetailleerde informatie over een specifieke container wilt, kun je Podman direct gebruiken, aangezien Toolbx-containers gewone Podman-containers zijn:

podman ps -a

Je kunt ook een specifieke container inspecteren om de volledige configuratie te bekijken:

podman inspect python-dev

Gedetailleerde informatie over een Toolbx-container opvragen met Podman

Het stoppen en starten van draaiende containers

Wanneer je klaar bent met werken in een container en systeembronnen wilt vrijmaken, kun je deze expliciet stoppen.

podman stop python-dev

U kunt controleren of de container is gestopt door het lijstcommando opnieuw uit te voeren:

toolbox list

Je zult zien dat de status van de container is veranderd van “actief” naar “gestopt”.

Stoppen van Running Toolbx-containers

Als je een container hebt die momenteel gestopt is en je wilt hem weer gebruiken, kun je er eenvoudig enter in doen, en Toolbx start hem automatisch voor je:

toolbox enter python-dev

Containers verwijderen die u niet meer nodig heeft

Na verloop van tijd kun je containers verzamelen die je niet meer gebruikt, en deze containers nemen schijfruimte op je systeem in beslag. Wanneer je zeker weet dat je een container niet meer nodig hebt, kun je deze volledig verwijderen met het commando rm:

toolbox rm python-dev

Voordat u de container verwijdert, vraagt Toolbx u om de actie te bevestigen. Typ eenvoudig y om te bevestigen, en Toolbx verwijdert de container samen met alle pakketten en configuraties die u erin heeft geïnstalleerd.

Belangrijke Opmerking: Het verwijderen van een container verwijdert alle pakketten, systeemconfiguraties en alle gegevens die in het bestandssysteem van de container zijn opgeslagen, maar de bestanden in je home-directory blijven volledig veilig.

Na het verwijderen kunt u het schijfgebruik van al uw containers, afbeeldingen en volumes controleren met:

podman system df

Bekijk de schijfruimte gebruikt door Toolbx-bronnen

Als je schijfruimte wilt vrijmaken door alle gestopte containers en ongebruikte afbeeldingen te verwijderen, kun je een opruimopdracht uitvoeren:

podman system prune
Conclusie

Toolbx geeft je een krachtige manier om ontwikkelomgevingen op je Fedora-systeem te beheren zonder de complexiteit van traditionele virtuele machines.

In deze gids heb je geleerd hoe je geïsoleerde containers kunt maken, grafische toepassingen kunt uitvoeren en meerdere ontwikkelomgevingen kunt beheren terwijl je je basissysteem schoon houdt.

Vond je deze gids nuttig? Deel je ervaring, vragen of tips in de reacties hieronder. Jouw feedback helpt ons onze inhoud te verbeteren en andere lezers te ondersteunen in hun Toolbx-reis. :