Docker per principianti: tutto ciò che devi sapere

Jun 15, 2025
Linux

Docker. crea applicazioni confezionate chiamato container. Ogni contenitore fornisce un ambiente isolato simile a a macchina virtuale (VM). A differenza dei VM, contenitori Docker Non eseguire un sistema operativo completo . Condividono il kernel del tuo host e virtualizzano a livello software.

Nozioni di base Docker.

Docker è diventato uno strumento standard per gli sviluppatori di software e gli amministratori di sistema. È un modo ordinato per lanciare rapidamente le applicazioni senza influire sul resto del tuo sistema. Puoi far girare un nuovo servizio con un singolo Docker run comando.

I contenitori incapsulano tutto il necessario per eseguire un'applicazione, dalle dipendenze del pacchetto OS al proprio codice sorgente. Definire i passaggi di creazione di un contenitore come istruzioni in a Dockerfile. . Docker utilizza il dockerfile per costruire un Immagine .

Le immagini definiscono il software disponibile nei contenitori. Questo è liberamente equivalente ad avviare una VM con un sistema operativo ISO. Se crei un'immagine, qualsiasi utente Docker sarà in grado di avviare la tua app con Docker run .

Come funziona Docker?

I contenitori utilizzano le funzioni del kernel del sistema operativo per fornire ambienti parzialmente virtualizzati. È possibile creare contenitori da zero con i comandi come chroot. . Questo avvia un processo con una directory principale specificata anziché la radice del sistema. Ma usare le funzionalità del kernel direttamente è irregolare, insicuro e ad errore.

Docker è una soluzione completa per la produzione, la distribuzione e l'uso di contenitori. I rilasci moderni della Docker sono composti da Diversi componenti indipendenti . Innanzitutto, c'è il Docker Cli , che è ciò che interagisci con il terminale. Il CLI invia comandi a a DA DCKER DAEMON. . Questo può funzionare localmente o su un host remoto . Il demone è responsabile della gestione dei contenitori e delle immagini da cui vengono create.

Il componente finale è chiamato il Contenitore Runtime. . Il runtime richiama le funzioni del kernel per lanciare effettivamente i contenitori. Docker è compatibile con RunTimes che aderisce al Specifica OCI. Questo standard aperto consente l'interoperabilità tra diversi strumenti di contenitorizzazione.

Non è necessario preoccuparti troppo del funzionamento interno della Docker quando sei per la prima volta. Installazione Docker. Sul tuo sistema ti darà tutto il necessario per costruire ed eseguire contenitori.

Perché così tante persone usano Docker?

I contenitori sono diventati così popolari perché risolvono molte sfide comuni nello sviluppo del software. La capacità di contagirizzare una volta e correre ovunque riduce il divario tra Il tuo ambiente di sviluppo e i tuoi server di produzione.

L'uso di contenitori ti dà fiducia che ogni ambiente è identico. Se hai un nuovo membro del team, hanno solo bisogno di Docker run per impostare la propria istanza di sviluppo. Quando avvia il servizio, è possibile utilizzare la tua immagine Docker per dispiegarsi alla produzione. Il Ambiente dal vivo Abbinerà esattamente la tua istanza locale, evitando "funziona sugli scenari della mia macchina".

Docker è più conveniente di una macchina virtuale completa. I VM sono strumenti generici progettati per supportare ogni possibile carico di lavoro. Al contrario, i contenitori sono leggeri, autosufficienti e migliori per i casi di utilizzo squillato. Come Docker condivide il kernel dell'host, i contenitori hanno un impatto trascurabile sulle prestazioni del sistema. Il tempo di lancio del contenitore è quasi istantaneo, poiché si stanno solo iniziando i processi, non un intero sistema operativo.

Iniziare

Docker è disponibile su tutte le diffopene distribuzioni Linux. Esegue anche Windows e MacOS. Segui il Istruzioni per la configurazione Docker per la tua piattaforma per ottenerlo e correre.

Puoi verificare che la tua installazione funzioni avviando un semplice contenitore:

 Docker run hello-world 

Questo inizierà un nuovo contenitore con la base Ciao mondo Immagine. L'immagine emette qualche uscita che spiega come utilizzare Docker. Il contenitore quindi esce, ti ritira il terminale.

Creazione di immagini

Una volta che hai corri Ciao mondo , Sei pronto per creare le tue immagini Docker. Un Dockerfile descrive come eseguire il tuo servizio Installazione del software richiesto e copiando in file. Ecco un semplice esempio usando il server Web Apache:

 Dal httpd: Ultimi
Esegui Echo "LoadModule Header_module Modules / Mod_headers.so" & GT; & GT; /usr/local/apache2/conf/httpd.conf.
Copia .htaccess /var/www/html/.htaccess.
Copia index.html /var/www/html/index.html.
Copia CSS / / VAR / www / html / css 

Il A PARTIRE DAL La linea definisce l'immagine di base. In questo caso, stiamo iniziando dall'immagine ufficiale di Apache. Docker applica le istruzioni rimanenti nel tuo dockerfile in cima all'immagine di base.

Il CORRERE Stage esegue un comando all'interno del contenitore. Questo può essere qualsiasi comando disponibile nell'ambiente del contenitore. Stiamo consentendo al intestazione Modulo Apache, che potrebbe essere utilizzato dal .htaccess. file per impostare le regole di routing.

Le linee finali copiano i file HTML e CSS nella directory di lavoro nell'immagine del contenitore. La tua immagine ora contiene tutto il necessario per eseguire il tuo sito web.

Ora puoi costruire l'immagine:

 Docker Build -T My-Website: V1. 

Docker utilizzerà il tuo Dockerfile per costruire l'immagine. Vedrai l'output nel tuo terminale poiché Docker esegue ciascuna delle tue istruzioni.

Il -T nel comando Tagga la tua immagine con un dato nome ( My-Sito Web: V1 ). Questo rende più facile riferirsi a in futuro. I tag hanno due componenti, separati da un colon. La prima parte imposta il nome dell'immagine, mentre il secondo di solito denota la sua versione. Se ometti il ​​colon, Docker sarà predefinito usare. più recente come versione tag.

Il . Alla fine del comando indica a Docker di utilizzare il dockerfile nella directory di lavoro locale. Anche questo Imposta il contesto di build , permettendoti di utilizzare file e cartelle nella tua directory di lavoro con COPIA istruzioni nel tuo dockerfile.

Una volta creata la tua immagine, puoi avviare un contenitore usando Docker run :

 Docker Run -D -P 8080: 80 My-Sito Web: V1 

Stiamo usando alcune bandiere extra con Docker run qui. Il -D Bandiera rende il Docker CLI staccò dal contenitore, permettendogli di correre in background. Una mappatura della porta è definita con -P , Quindi Port 8080 sulle tue mappe host a Port 80 nel contenitore. Dovresti vedere la tua pagina web se visiti localhost: 8080. nel tuo browser.

Le immagini Docker sono formate da strati. Ogni istruzione nel tuo Dockerfile crea un nuovo livello. È possibile utilizzare funzionalità di costruzione avanzate per Riferimento più immagini di base , scartando gli strati intermedi dalle immagini precedenti.

Registri di immagini

Una volta che hai un'immagine, puoi spingerlo a un registro. Registri fornire stoccaggio centralizzato in modo da poter condividere contenitori con gli altri. Il registro predefinito è Hub Docker. .

Quando si esegue un comando che fa riferimento all'immagine, Docker Prima controlla se è disponibile localmente. Se non lo è, proverà a tirarlo da Docker Hub. Puoi tirare manualmente le immagini con il Docker pull. comando:

 Docker Pull Httpd: Ultimi 

Se vuoi pubblicare un'immagine, creare a Hub Docker. account. Correre Login Docker. e inserisci il tuo nome utente e password.

Quindi, tagga la tua immagine usando il tuo nome utente Docker Hub:

 Docker tag my-image: Ultimo Docker-hub-username / My-image: Ultime 

Ora puoi spingere la tua immagine:

 Docker Push Docker-Hub-Username / My-Image: Ultime 

Altri utenti saranno in grado di tirare l'immagine e avviare i contenitori con esso.

Puoi Esegui il tuo registro Se hai bisogno di spazio di archiviazione dell'immagine privata. Diversi servizi di terze parti anche Offri registri Docker. come alternative a Docker Hub.

Gestire i tuoi contenitori

La Docker CLI ha diversi comandi per farti gestire i tuoi contenitori in esecuzione. Ecco alcuni dei più utili da sapere:

Elenco dei contenitori

Docker PS. Mostra tutti i tuoi contenitori in esecuzione. Aggiungendo il. -un La bandiera mostrerà anche i contenitori interrotti.

Fermarsi e avviare i contenitori

Per fermare un contenitore, correre Docker Stop My-Container . Sostituire My-Container. con il nome o l'ID del contenitore. Puoi ottenere queste informazioni dal Ps. comando. Un contenitore fermato viene riavviato con Docker avvia il mio contenitore .

I contenitori di solito corrono per tutto il tempo in cui il loro processo principale rimane vivo. Riavvia le politiche Controlla cosa succede quando un contenitore si ferma o il tuo host si riavvia. Passaggio --restart sempre a Docker run Per effettuare un riavvio del contenitore immediatamente dopo che si ferma.

Ottenere una shell.

Puoi Esegui un comando in un contenitore usando Docker Exec My-Container My-Command . Questo è utile quando si desidera richiamare manualmente un eseguibile separato per il processo principale del contenitore.

Aggiungi il -esso Bandiera se hai bisogno di accesso interattivo. Questo ti consente di abbandonare una shell in esecuzione Docker exec -it my-container sh .

Logs del monitoraggio

Docker raccoglie automaticamente l'uscita emessa ai flussi di ingresso e uscita standard di un contenitore. Il Docker registra il mio contenitore Il comando mostrerà i registri di un contenitore all'interno del terminale. Il --Seguire Bandiera imposta un flusso continuo in modo da poter visualizzare i registri in tempo reale.

Pulizia delle risorse

I vecchi contenitori e immagini possono rapidamente accumularsi sul tuo sistema. Utilizzo Docker RM My-Container Per eliminare un contenitore con il suo ID o nome.

Il comando per le immagini è Docker RMI My-Image: Ultime . Passa l'ID dell'immagine o il nome del tag completo. Se si specifica un tag, l'immagine non verrà eliminata finché non ha più tag assegnati. Altrimenti, il tag dato verrà rimosso ma gli altri tag dell'immagine rimarranno utilizzabili.

I clean-up alla rinfusa sono possibili usando il Docker Prune. comando . Questo ti dà un modo semplice per rimuovere tutti i contenitori arrestati e le immagini ridondanti.

Gestione grafica

Se il terminale non è la tua cosa, puoi usare strumenti di terze parti per Impostare un'interfaccia grafica per Docker . Web Dashboard consente di monitorare e gestire rapidamente la tua installazione. Aiutano anche a prendere il controllo remoto dei tuoi contenitori.

Archiviazione dei dati persistenti

I contenitori Docker sono effimeri per impostazione predefinita. Le modifiche apportate al filesystem di un contenitore non persistono dopo che il contenitore si ferma. Non è sicuro Esegui qualsiasi forma di sistema di archiviazione file in un contenitore è iniziato con un base Docker run comando.

Ci sono alcuni approcci diversi a Gestione dei dati persistenti . Il più comune è utilizzare un volume Docker. I volumi sono unità di archiviazione che sono montati in filesystem contenitore. Qualsiasi dato in un volume rimarrà intatto dopo che il contenitore collegato si arresta, permettendoti di collegare un altro contenitore in futuro.

Mantenimento della sicurezza

I carichi di lavoro rinnovibili possono essere più sicuri delle loro controparti di metallo nudo, poiché Docker fornisce una certa separazione tra il sistema operativo e i servizi. Nondimeno, Docker è un potenziale problema di sicurezza, come normalmente funziona come radice e potrebbe essere sfruttato per eseguire software dannoso.

Se stai solo eseguendo Docker come strumento di sviluppo, l'installazione predefinita è generalmente sicura da usare. I server di produzione e le macchine con una presa daemon esposta alla rete dovrebbero essere indurite prima di andare in diretta.

Audit La tua installazione di Docker identificare potenziali problemi di sicurezza. Ci sono Strumenti automatizzati disponibili che può aiutare a trovare punti deboli e suggerire soluzioni. Puoi anche immagini contenitori individuali scansione per le questioni che potrebbero essere sfruttate da dentro.

Uso dei contenitori multipli

Il Docker. comando funziona solo con un container alla volta. Spesso Ti consigliamo di utilizzare i contenitori in forma aggregata. docker Compose è uno strumento che consente di definire i vostri contenitori in modo dichiarativo in un file YAML. È possibile avviare tutti in su con un unico comando.

Questo è utile quando il progetto dipende da altri servizi, come ad esempio un backend web che si basa su un server di database. È possibile definire entrambi i contenitori nel vostro finestra mobile-compose.yml e beneficiare di una gestione semplificata con networking automatica .

Ecco un semplice finestra mobile-compose.yml file:

 versione: "3"
Servizi:
  app:
    immagine: app-server: ultima
    porti:
      - 8000: 80
  Banca dati:
    immagine: database server: ultima
    volumi:
        - Database-dati: / Dati
volumi:
    database di dati: 

Questo definisce due contenitori ( app. e Banca dati ). Un volume viene creato per il database. Questo viene montato /dati nel contenitore. la porta del server applicazione 80 è esposto come 8000 sull'host. Correre finestra mobile-up comporre -d a girare su entrambi i servizi, compresa la rete e il volume.

L'uso di Docker Compose consente di riutilizzabile scrittura definizioni di contenitore che si può condividere con gli altri. Si potrebbe commettere un finestra mobile-compose.yml nel vostro controllo di versione, invece di avere sviluppatori memorize Docker run comandi.

Ci sono altri approcci per l'esecuzione di più contenitori, anche. Docker App è una soluzione emergente che fornisce un livello di astrazione. Altrove nell'ecosistema, Podman è un'alternativa Docker che consente di creare “pods” di container all'interno del vostro terminale.

contenitore Orchestration

Docker non è normalmente eseguito così com'è in produzione. E 'ora più comune di utilizzare una piattaforma di orchestrazione come kubernetes o la modalità Docker Swarm. Questi strumenti sono progettati per gestire più repliche contenitore, che migliora la scalabilità e affidabilità.

Docker è solo una componente del movimento containerizzazione ampio. orchestratori utilizzare la stessa tecnologie contenitore runtime per fornire un ambiente che è una migliore vestibilità per la produzione. Usando le istanze contenitori multipli permette di rotolamento aggiornamenti così come la distribuzione attraverso le macchine, rendendo la distribuzione più resistenti al cambiamento e interruzione. il regolare Docker. CLI si rivolge un host e lavora con i singoli contenitori.

Una potente piattaforma per contenitori

Docker ti dà tutto il necessario per lavorare con i contenitori. E 'diventato uno strumento chiave per lo sviluppo del software e la gestione del sistema. I vantaggi principali sono aumentati isolamento e portabilità per singoli servizi.

Fare conoscenza con Docker richiede una comprensione del contenitore e immagine concetti di base. È possibile applicare questi per creare le immagini e ambienti che containerize i carichi di lavoro specializzati.


Linux - Articoli più popolari

Come uccidere i processi di zombie su Linux

Linux Nov 25, 2024

Fatmawati Achmad Zaenuri / Shutterstock I programmi che sono scarsamente scritti o si esibiscono male possono andarsene Processi di zombie in agguat..


Come trovare ed eliminare i simbolistici rotti su Linux

Linux Nov 12, 2024

Fatmawati Achmad Zaenuri / Shutterstock I collegamenti simbolici su Linux sono una caratteristica fantastica, ma possono diventare rotti e lasciati puntare a..


Come aggiornare Ubuntu Linux

Linux Aug 27, 2025

Tomeqs / shutterstock.com. Hai bisogno che l'ultimo e il più grande software di Ubuntu? Non è necessario essere un Linux Pro. Continua a leggere per scopri..


Ubuntu 21.10 arriva con un gnome 40 desktop personalizzato

Linux Oct 14, 2025

Ubuntu. Se sei un utente di Ubuntu, o qualcuno che sta pensando di provarlo, oggi è una buona giornata. Canonical ha ufficialmente rilasciato Ubuntu 21.10 con un desktop..


Come disattivare un PC Ubuntu

Linux Oct 12, 2025

Come tutti i personal computer, un PC che esegue il Ubuntu. Il sistema operativo desktop deve essere disattivato di tanto in tanto. La chiusura di Ubuntu è facile e hai diversi..


Come uccidere un processo Linux per numero di porta

Linux Oct 4, 2025

Per uccidere un processo Linux è necessario il suo ID o il suo nome. Se tutto quello che sai è la porta che sta usando, puoi ancora ucciderlo? Sì, in diversi modi. Abbidamento dei proc..


Come elencare le variabili di ambiente su Linux

Linux Oct 31, 2025

Su Linux, le variabili di ambiente contengono valori e impostazioni importanti. Script, applicazioni e shell leggono questi valori, spesso per configurare se stessi o per controllare il loro co..


10 utili esempi del comando Linux Rsync

Linux Oct 24, 2025

Il Linux rsync Il comando è un potente strumento di copia dei file e sincronizzazione delle cartelle. Ecco dieci casi di utilizzo comuni che sarai in grado di sfruttare i tuoi siste..


Categorie