Ricerca nel sito web

Toolbx: Gestisci più contenitori di sviluppo in Fedora


Lo sviluppo moderno su Linux è andato oltre l'approccio tradizionale di installare tutto direttamente sul proprio sistema. Ora hai accesso a strumenti che ti aiutano a creare ambienti di sviluppo isolati senza dover affrontare il sovraccarico delle macchine virtuali complete o la complessità della gestione manuale dei container.

È qui che entra in gioco Fedora Toolbx: uno strumento che rende semplice avviare ambienti di sviluppo containerizzati, mantenendo l'esperienza fluida come lavorare direttamente sul tuo sistema host.

In questa guida, imparerai come configurare e utilizzare Fedora Toolbx per creare ambienti di sviluppo isolati, riproducibili e facili da gestire. Potrai scoprire come Toolbx ti aiuta a lavorare su più progetti con dipendenze contrastanti, mantenendo il tuo sistema di base pulito e organizzato.

La guida ti accompagna attraverso le basi di Toolbx con spiegazioni semplici e pratiche. Innanzitutto impari cos'è Toolbx e perché ne hai bisogno, poi passi all'installazione e alla configurazione sul tuo sistema Fedora. Successivamente, potrai creare il tuo primo contenitore di sviluppo e capire come gestire efficacemente più ambienti.

Le sezioni finali ti mostrano i flussi di lavoro comuni e le migliori pratiche che ti aiutano a ottenere il massimo da Toolbx nel tuo lavoro di sviluppo quotidiano.

Nota: Toolbx è stato originariamente sviluppato per Fedora e funziona meglio sui sistemi basati su Fedora, anche se puoi usarlo anche su altre distribuzioni Linux moderne, ma questa guida si concentra principalmente su Fedora.

Comprendere Toolbx: Cosa Lo Rende Diverso

Prima di iniziare a lavorare con Toolbx, è importante capire cosa fa realmente e perché ne hai bisogno nel tuo flusso di lavoro di sviluppo.

Toolbx crea ambienti containerizzati utilizzando Podman, che è un motore di container simile a Docker ma funziona senza un daemon.

Ciò che rende Toolbx speciale è quanto questi container si integrino strettamente con il sistema host, offrendo un'esperienza di sviluppo senza interruzioni che non risulta limitante come i container tradizionali.

Quando lavori con i contenitori Toolbx, ottieni diversi vantaggi chiave che rendono il tuo lavoro di sviluppo più semplice:

  • Accesso senza interruzioni alla directory home – La tua directory home viene montata automaticamente nel contenitore, il che significa che i tuoi file, le configurazioni e le chiavi SSH sono immediatamente disponibili senza alcuna configurazione aggiuntiva.
  • Accesso Diretto all'Hardware – Grafica, audio e altri dispositivi funzionano subito senza richiedere configurazioni speciali o procedure di montaggio complicate.
  • Integrazione con l'host – Puoi eseguire applicazioni grafiche, accedere alla rete e interagire con il tuo sistema proprio come se stessi lavorando direttamente sul tuo sistema ospite anziché all'interno di un container.

Puoi pensare a Toolbx come a creare una “bolla” protetta intorno ai tuoi strumenti di sviluppo e alle dipendenze. All'interno di questa bolla, puoi installare qualsiasi pacchetto, libreria o strumento di cui hai bisogno per un progetto specifico senza influenzare il tuo sistema principale.

Nelle sezioni seguenti, imparerai come installare Toolbx sul tuo sistema Fedora e iniziare a creare questi ambienti di sviluppo isolati.

Installare Toolbx su Fedora

Su Fedora Workstation (versione 28 e successive), toolbx è preinstallato, e puoi verificarlo eseguendo il seguente comando.

toolbox --version

Se vedi un numero di versione, sei pronto per iniziare; se Toolbx non è installato, puoi aggiungerlo con:

sudo dnf install toolbox

Installa Toolbx su Fedora

Ecco tutto per l'installazione. Nessun file di configurazione complesso, nessuna configurazione di demone, nessuna dipendenza aggiuntiva di cui preoccuparsi.

Creare il tuo primo contenitore Toolbx

Creare un contenitore Toolbx è un processo semplice che puoi completare con un solo comando, che creerà un contenitore di default basato sulla versione corrente di Fedora.

Se stai usando Fedora 41, per esempio, crea automaticamente un contenitore Fedora 41 per te. La prima volta che esegui questo comando, Toolbx scarica l'immagine del contenitore, operazione che richiede qualche minuto a seconda della velocità della tua connessione internet.

toolbox create

Creare il tuo primo contenitore della cassetta degli attrezzi

Una volta creato il contenitore, puoi accedervi eseguendo il comando seguente:

toolbox enter

Accesso al tuo container Docker dopo la creazione

Noterai la piccola icona del contenitore (⬢) che appare nel prompt, che indica che sei all'interno del tuo contenitore Toolbx.

Anche se stai lavorando in un ambiente containerizzato, scoprirai che la tua directory home, i tuoi file e buona parte dell'ambiente del sistema host rimangono facilmente accessibili proprio come accadrebbe sul tuo sistema principale.

Utilizzo di diverse versioni di Fedora

A volte è necessario lavorare con una versione specifica di Fedora, forse i tuoi server di produzione eseguono una release più vecchia, oppure vuoi testare la compatibilità con l'ultima versione prima di aggiornare il tuo sistema principale.

Toolbx lo rende facile con il flag --release o -r:

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

Puoi persino utilizzare container di versioni precedenti di Fedora mentre esegui una versione più recente sul tuo sistema host, offrendoti un modo conveniente per mantenere la compatibilità con ambienti diversi.

Testare il tuo ambiente container

Per verificare che sei effettivamente all'interno del container e vedere come differisce dal tuo sistema host, puoi eseguire alcuni comandi semplici, ad esempio controllare quali pacchetti sono installati.

dnf list installed | wc -l

Puoi anche controllare il nome host del container:

hostname

Per vedere la tua directory di lavoro corrente e verificare che la tua directory home sia accessibile:

pwd
ls -la

Noterai di essere nella tua directory home con tutti i tuoi file e cartelle familiari visibili, anche se sei all'interno di un container.

Esegui comandi all'interno di un contenitore Toolbox in esecuzione

Installare software all'interno del tuo contenitore

Ora che sei all'interno del contenitore, puoi installare strumenti di sviluppo senza influire sul tuo sistema principale. Ad esempio, se vuoi configurare un ambiente di sviluppo Python:

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

Se esci dal contenitore e controlli il tuo sistema host, questi pacchetti non saranno installati lì, esistono solo all'interno del tuo ambiente Toolbx.

Configura un ambiente Python all'interno di un contenitore Toolbox

Proviamo un altro esempio con gli strumenti di sviluppo Node.js.

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

Questi comandi installano Node.js e npm, quindi verificano l'installazione controllandone le versioni. Ancora una volta, questa installazione è completamente isolata dal sistema principale.

Quando hai finito di lavorare nel tuo container, puoi uscire semplicemente eseguendo:

exit

Creare contenitori nominativi per diversi progetti

Sebbene il contenitore predefinito funzioni bene per il lavoro di sviluppo generale, spesso avrai bisogno di contenitori separati per progetti diversi o scopi specifici. Creare contenitori nominati ti aiuta a organizzare i tuoi ambienti di sviluppo in modo più efficace e a mantenere il tuo lavoro isolato.

Per creare contenitori nominati, esegui il comando toolbox create seguito dal nome che vuoi dare al tuo contenitore:

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

Ognuno di questi comandi crea un contenitore distinto con il proprio ambiente isolato. Quando vuoi lavorare su un progetto specifico, entri nel contenitore corrispondente fornendo il suo nome con il comando enter:

toolbox enter python-dev

Questo approccio ti aiuta a mantenere ambienti completamente isolati per diversi tipi di lavoro di sviluppo. Ad esempio, il tuo contenitore Python può eseguire Python 3.12 con tutte le sue dipendenze moderne, mentre il contenitore del tuo progetto legacy potrebbe usare Python 3.8 con librerie più vecchie, e nessuno dei due ambienti interferirà con l'altro o influenzerà in alcun modo il tuo sistema host.

Esecuzione di applicazioni grafiche da Toolbx

Ciò che rende Toolbx veramente speciale è la sua capacità di eseguire applicazioni grafiche senza problemi all'interno dei tuoi container. A differenza dei container tradizionali, che richiedono una configurazione complessa del X11 forwarding.

Toolbx gestisce automaticamente tutta l'integrazione del display, facendo sembrare che tu stia eseguendo le applicazioni direttamente sul tuo sistema host.

Per vedere come funziona nella pratica, installiamo e avviamo un editor di testo grafico come esempio.

toolbox enter
sudo dnf install gedit -y

Una volta completata l'installazione, puoi avviare l'editor.

gedit &

La finestra di gedit si apre sul tuo desktop proprio come se l'avessi avviata dal tuo sistema principale. Puoi creare, modificare e salvare file, e tutto funziona esattamente come ti aspetteresti.

L'ampersand (&) alla fine esegue l'applicazione in background, permettendoti di continuare a usare il terminale mentre l'applicazione grafica rimane aperta.

Esecuzione di app GUI all'interno dei contenitori Toolbx

Gestione di più contenitori Toolbx

Man mano che crei più container per diversi progetti, avrai bisogno di un modo per tenerne traccia e gestirli efficacemente. Toolbx offre diversi comandi che ti aiutano a visualizzare, controllare e organizzare i tuoi ambienti containerizzati.

Elenco dei tuoi contenitori

Per vedere tutti i contenitori che hai creato, esegui il comando lista:

toolbox list

Visualizzazione di tutti i contenitori della cassetta degli attrezzi sul tuo sistema

Da questo output, puoi vedere quali container sono attualmente in esecuzione e quali sono usciti.

Verifica dei dettagli del contenitore

Se vuoi informazioni più dettagliate su un contenitore specifico, puoi utilizzare Podman direttamente, poiché i contenitori Toolbx sono contenitori Podman regolari:

podman ps -a

Puoi anche ispezionare un contenitore specifico per vedere la sua configurazione completa:

podman inspect python-dev

Ottieni informazioni dettagliate su un container Toolbx usando Podman

Fermare e Avviare i Contenitori in Esecuzione

Quando hai finito di lavorare in un container e vuoi liberare le risorse di sistema, puoi fermarlo esplicitamente.

podman stop python-dev

Puoi verificare che il contenitore si sia fermato eseguendo di nuovo il comando di elenco:

toolbox list

Vedrai che lo stato del contenitore è cambiato da “in esecuzione” a “terminato”.

Arrestare i contenitori Toolbx in esecuzione

Se hai un contenitore che è attualmente fermo e vuoi usarlo di nuovo, basta entrare al suo interno, e Toolbx lo avvia automaticamente per te:

toolbox enter python-dev

Rimuovere i contenitori che non ti servono più

Col tempo, potresti accumulare contenitori che non usi più, e questi contenitori occupano spazio sul disco del tuo sistema. Quando sei sicuro di non aver più bisogno di un contenitore, puoi rimuoverlo completamente usando il comando rm:

toolbox rm python-dev

Prima di rimuovere il contenitore, Toolbx ti chiede di confermare l'azione, basta digitare y per confermare, e Toolbx rimuove il contenitore insieme a tutti i pacchetti e le configurazioni che hai installato al suo interno.

Nota Importante: Rimuovere un contenitore elimina tutti i pacchetti, le configurazioni di sistema e qualsiasi dato memorizzato nel filesystem del contenitore, ma i file della tua directory home rimangono completamente al sicuro.

Dopo la rimozione, puoi controllare l'utilizzo del disco di tutti i tuoi container, immagini e volumi con:

podman system df

Visualizza lo spazio su disco utilizzato dalle risorse di Toolbx

Se vuoi liberare spazio su disco rimuovendo tutti i container fermati e le immagini inutilizzate, puoi eseguire un comando di pulizia:

podman system prune
Conclusione

Toolbx ti offre un modo potente per gestire gli ambienti di sviluppo sul tuo sistema Fedora senza la complessità delle tradizionali macchine virtuali.

In questa guida, hai imparato come creare contenitori isolati, eseguire applicazioni grafiche e gestire più ambienti di sviluppo mantenendo pulito il tuo sistema di base.

Hai trovato utile questa guida? Condividi la tua esperienza, le tue domande o i tuoi consigli nei commenti qui sotto. Il tuo feedback ci aiuta a migliorare i nostri contenuti e supporta altri lettori nel loro percorso con Toolbx.