Come installare Docker su Debian 12, 11 o 10

Docker ha rapidamente guadagnato popolarità grazie alla sua capacità di semplificare il processo di distribuzione containerizzando le applicazioni, garantendo coerenza tra più ambienti. La sua natura leggera e la capacità di scalare in modo efficiente lo hanno reso uno dei preferiti tra sviluppatori e professionisti IT.

  • Portabilità: i contenitori Docker possono essere eseguiti su qualsiasi sistema che supporti Docker, garantendo che la tua applicazione funzioni perfettamente in ambienti diversi.
  • Isolamento: Ogni contenitore funziona in modo indipendente, riducendo il rischio di conflitti e semplificando la gestione delle dipendenze.
  • Efficienza: i contenitori condividono il kernel del sistema operativo host, rendendoli più efficienti delle macchine virtuali tradizionali.
  • Scalabilità: Docker consente un facile ridimensionamento delle applicazioni, adattando carichi variabili aggiungendo o rimuovendo contenitori.
  • Controllo della versione: tieni traccia delle modifiche e ripristina facilmente le versioni precedenti, migliorando il flusso di lavoro di sviluppo e distribuzione.

Debian è una scelta preferibile da abbinare a Docker per diversi motivi:

  • Stabilità: Nota per la sua natura robusta e affidabile, Debian garantisce una base stabile per i contenitori Docker.
  • Sicurezza: Aggiornamenti regolari e una forte attenzione alla sicurezza rendono Debian un ambiente sicuro per la distribuzione delle applicazioni.
  • Supporto comunitario: una comunità ampia e attiva fornisce documentazione e supporto estesi, semplificando la risoluzione dei problemi.
  • Prestazione: Leggera ed efficiente, Debian garantisce che i contenitori Docker funzionino senza intoppi con un sovraccarico minimo.

Terminata l'introduzione, esploriamo come installare Docker su Debian, utilizzando i comandi del terminale e vari metodi per far funzionare il tuo ambiente in modo efficiente.

Passaggi di preinstallazione di Docker

La configurazione di Docker CE sul tuo sistema Debian è semplice ma meticolosa. Prima di approfondire il processo di installazione, prepariamo il terreno per un'esecuzione senza errori.

Passaggio 1: rimuovere le istanze Docker precedenti

Nota: Se non hai la versione predefinita di Docker installata dal repository Debian, salta il passaggio di rimozione.

Innanzitutto, dobbiamo eliminare tutte le installazioni Docker preesistenti per garantire un ambiente privo di conflitti. Le versioni precedenti di Docker potrebbero interferire con la nostra prossima installazione e causare errori imprevisti. Utilizzare il comando seguente per disinstallare le iterazioni Docker precedenti, se esistenti:

sudo apt remove docker docker-engine docker.io containerd runc

Se non ci sono istanze Docker più vecchie da rimuovere, il file apt il gestore pacchetti restituirà un messaggio che indica nulla da disinstallare.

È fondamentale ricordare che la disinstallazione di Docker non elimina automaticamente immagini, contenitori, volumi o reti Docker solitamente archiviati in /var/lib/docker/. Se intendi ricominciare da capo ed eliminare tutti i dati relativi a Docker, utilizza questi comandi:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

In questo modo hai eliminato tutti i potenziali residui Docker che potrebbero influenzare il processo di installazione.

Passaggio 2: aggiornare i pacchetti Debian prima dell'installazione di Docker

Dopo aver rimosso le versioni Docker precedenti, assicurati che il tuo sistema Debian sia completamente aggiornato come passaggio successivo. L'aggiornamento promuove la stabilità del sistema e garantisce che i pacchetti di sistema siano aggiornati alle versioni più recenti, riducendo al minimo potenziali conflitti e vulnerabilità.

Per aggiornare l'elenco dei pacchetti disponibili e aggiornare quelli installati, eseguire il comando seguente:

sudo apt update && sudo apt upgrade

Questo comando aggiornerà innanzitutto l'elenco dei pacchetti disponibili (apt update), seguito dall'aggiornamento di eventuali pacchetti obsoleti (apt upgrade).

Importa il repository APT di Docker CE

Per installare con successo Docker CE, è essenziale configurare il tuo sistema Debian per accedere al repository Docker. Ciò comporta l'integrazione del repository Docker nel tuo sistema e l'importazione della chiave GPG corrispondente. Questi passaggi garantiscono l'autenticità dei pacchetti Docker scaricati e mitigano il rischio di modifiche non autorizzate.

Passaggio 1: installare i pacchetti iniziali per Docker CE

Inizialmente, il sistema potrebbe non disporre dei pacchetti necessari per questo processo. Correggiamo il problema installandoli. Esegui il comando seguente per installare questi pacchetti critici:

sudo apt install ca-certificates curl gnupg lsb-release dirmngr software-properties-common apt-transport-https

Qui stai sfruttando il apt gestore pacchetti per installare una varietà di strumenti, come ca-certificates per la verifica del certificato, curl trasferire dati, gnupg per la gestione delle chiavi e altri necessari per questo processo.

Passaggio 2: aggiungere la chiave GPG Docker CE

Dopo aver installato i pacchetti richiesti, importiamo la chiave GPG Docker. Questa chiave consente al sistema di verificare l'integrità dei pacchetti scaricati dal repository Docker.

Utilizzare i seguenti comandi per scaricare e salvare la chiave GPG:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

IL curl Il comando recupera la chiave GPG dal repository Docker, che viene quindi elaborata da gpg --dearmor per convertirlo nel formato binario that apt richiede.

Passaggio 3: aggiungere il repository APT Docker CE

Con la chiave GPG installata, ora puoi importare il repository Docker. Ecco il comando per farlo:

echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
 $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
 sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Questo comando dall'aspetto complesso aggiunge il repository Docker all'elenco delle fonti del tuo sistema e lo collega alla chiave GPG precedentemente scaricata. Questo collegamento verifica l'integrità dei pacchetti scaricati dal repository Docker, mantenendo il tuo sistema sicuro.

Finalizzare l'installazione di Docker

Questa sezione descrive i passaggi necessari per installare Docker CE sul tuo sistema Debian. Imparerai come aggiornare le informazioni sul repository del tuo sistema, installare Docker e verificare l'installazione eseguendo un'immagine Docker di prova. Inoltre, la sezione include una pratica di sicurezza cruciale per garantire la gestione sicura dei contenitori e delle immagini Docker.

Passaggio 1: aggiornare la cache APT di Debian dopo l'importazione del repository Docker CE

Prima di avviare l'installazione di Docker, è vantaggioso assicurarsi che le informazioni del repository del sistema siano aggiornate, in particolare con il repository Docker aggiunto di recente. Per aggiornare le informazioni del repository, eseguire il comando seguente:

sudo apt update

Questo comando aggiorna gli elenchi dei pacchetti del tuo sistema, inclusi i dettagli sulle ultime versioni dei pacchetti e le loro dipendenze.

Passaggio 2: installa Docker tramite il comando APT

Una volta aggiornate le informazioni sul repository del sistema, è possibile procedere con l'installazione di Docker. Ecco il comando per installare Docker insieme ad alcuni plug-in aggiuntivi che migliorano la tua esperienza Docker:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Con questo comando stai installando docker-ce (Edizione comunitaria Docker), docker-ce-cli (l'interfaccia della riga di comando Docker), containerd.io (un runtime standard del settore) e due utili plug-in Docker per creare immagini e gestire applicazioni multi-contenitore.

Passaggio 3: verificare l'installazione di Docker CE su Debian

Dopo aver completato l'installazione di Docker verificatene prudentemente la corretta installazione eseguendo un'immagine Docker di prova:

sudo docker run hello-world

Questo comando estrae il file hello-world immagine dal repository Docker, crea un nuovo contenitore da questa immagine ed esegue il contenitore. Una volta eseguito, stampa un messaggio di benvenuto, confermando così che Docker funziona come previsto.

Passaggio 4: eseguire Docker come utente non root

Per motivi di sicurezza, configura Docker per l'esecuzione come utente non root. Questa pratica salvaguarda il tuo sistema da modifiche accidentali o dannose che potrebbero causare danni. Una sezione successiva tratterà questo aspetto in modo più approfondito.

Suggerimento per la risoluzione dei problemi di Docker

Durante l'interazione con i contenitori e le immagini Docker, se riscontri problemi, un riavvio del sistema potrebbe aiutare a risolverli, in particolare quelli relativi alla generazione del percorso. Per riavviare il sistema, utilizzare il seguente comando:

reboot

Gestione Docker tramite Systemd

Questo segmento esplorerà come manipolare il servizio Docker utilizzando systemd. Systemd è un componente fondamentale di molte distribuzioni Linux, inclusa Debian, e fornisce funzionalità per amministrare processi e servizi di sistema. Poiché Docker installa un'unità systemd sul tuo sistema Debian, questo rappresenta un modo efficiente per gestire il servizio Docker.

Avvio del servizio Docker tramite systemd

Per utilizzare Docker, il servizio deve essere attivo sul tuo sistema Debian. Systemd facilita questo attraverso il seguente comando:

systemctl start docker.service

Questo comando avvia il servizio Docker e lo configura per l'avvio automatico all'avvio del sistema, garantendone la disponibilità dopo ogni avvio.

Interrompere il servizio Docker tramite systemd

In determinate circostanze, potresti voler interrompere il servizio Docker. Systemd fornisce un comando semplice per eseguire questa operazione:

systemctl stop docker.service

Questo comando arresta il servizio Docker e ne impedisce l'avvio automatico al successivo avvio del sistema.

Riavviare il servizio Docker tramite systemd

A volte potresti voler riavviare il servizio Docker, soprattutto durante la risoluzione dei problemi relativi a Docker. Systemd fornisce la funzionalità per riavviare il servizio Docker con questo comando:

systemctl restart docker.service

Questo comando arresta e avvia il servizio Docker, applicando di fatto le configurazioni più recenti.

Controlla lo stato del servizio Docker tramite systemd

Per verificare lo stato operativo del servizio Docker, se è in esecuzione, arrestato o inattivo, puoi utilizzare il seguente comando systemd:

systemctl status docker.service

Il comando recupera e visualizza lo stato corrente del servizio Docker, fornendo informazioni dettagliate sulle sue condizioni operative.

Abilita il servizio Docker all'avvio del sistema Debian tramite systemd

Se desideri che il servizio Docker si avvii automaticamente all'avvio del sistema, abilitarlo tramite systemd è il metodo preferito:

systemctl enable docker.service

Questo comando regola le impostazioni del servizio Docker in modo che si avviino automaticamente a ogni avvio del sistema, fornendo la disponibilità continua delle funzionalità Docker.

Disabilita il servizio Docker all'avvio del sistema tramite systemd

Se decidi di non avviare automaticamente il servizio Docker durante l'avvio del sistema, systemd può soddisfare questa richiesta con il seguente comando:

systemctl disable docker.service

Questo comando altera le impostazioni del servizio Docker, impedendone l'avvio automatico all'avvio del sistema.

Utilizzando i comandi systemd, puoi gestire in modo efficace il servizio Docker sul tuo sistema Debian, fornendo un elevato grado di controllo sul comportamento operativo di Docker. Le sezioni seguenti approfondiranno in modo più specifico l'utilizzo e la gestione dei contenitori e delle immagini Docker.

Esempi di come configurare Docker

In questa parte della guida, approfondiamo l'impostazione delle configurazioni Docker. Ciò include la gestione di Docker come utente non root, che migliora la sicurezza, e la modifica del driver di registrazione predefinito per adattarlo meglio alle tue esigenze.

Passaggio 1: esegui Docker come utente non root

Sebbene sia possibile eseguire Docker come utente root, è sconsigliato farlo a causa di potenziali rischi per la sicurezza e modifiche accidentali al sistema host Debian. Gestisci invece le operazioni Docker con un account utente non root per migliorare la sicurezza.

Per creare un nuovo utente specifico per la gestione Docker, eseguire i seguenti comandi:

sudo useradd -m dockeruser
sudo usermod -aG docker dockeruser

Questi comandi creano un nuovo utente denominato "dockeruser" e aggiungono questo utente al gruppo Docker. Essere membro del gruppo Docker garantisce a un utente le autorizzazioni necessarie per eseguire i comandi Docker.

Se desideri assegnare il tuo utente corrente al gruppo Docker, sostituisci "dockeruser" con il tuo nome utente. Ad esempio, per un utente chiamato "joshua", il comando sarebbe:

sudo usermod -aG docker joshua

Dopo aver apportato queste modifiche, disconnettersi e rientrare per applicare le modifiche. A volte, potrebbe essere necessario riavviare il sistema per propagare queste modifiche.

Per verificare che l'utente disponga dell'autorizzazione per eseguire i comandi Docker, utilizzare il comando seguente:

docker ps

Il comando dovrebbe visualizzare un elenco di contenitori Docker in esecuzione, a indicare un'installazione riuscita.

Passaggio 2: modificare il driver di registrazione Docker predefinito

Docker, per impostazione predefinita, registra gli eventi nel formato file JSON. Tuttavia, la flessibilità di Docker consente di modificare il driver di registrazione predefinito in un formato diverso o addirittura di configurarlo per inoltrare i registri a un sistema di gestione dei registri remoto.

Per modificare il driver di registrazione predefinito, è necessario creare un nuovo file chiamato daemon.json nel /etc/docker/ directory. Utilizzando un editor di testo come nano, esegui il seguente comando:

sudo nano /etc/docker/daemon.json

Quando il file è aperto, incolla al suo interno il seguente contenuto:

{
  "log-driver": "syslog",
  "log-opts": {
    "syslog-address": "tcp://logs.example.com:514",
    "syslog-facility": "daemon",
    "tag": "{{.Name}}"
  }
}

Docker utilizza il driver syslog in questa configurazione e inoltra i log a un server syslog remoto. Sostituisci logs.example.com con l'indirizzo del tuo server syslog.

Una volta completata la configurazione, riavviare il demone Docker utilizzando il comando seguente per applicare le nuove impostazioni del driver di registrazione:

sudo systemctl restart docker.service

Si prega di ricordare eventuali modifiche apportate al daemon.json file richiede il riavvio del demone Docker affinché le modifiche vengano applicate.

Esempi di comandi Docker

In questo segmento, approfondiremo l'utilizzo dei comandi Docker che svolgono un ruolo fondamentale nella gestione efficace di contenitori, immagini, reti e volumi Docker. IL docker Il comando fornisce un set di strumenti robusto e versatile progettato per semplificare e automatizzare le attività nell'ambiente Docker.

Fondamenti dei comandi Docker

Familiarizzare con l'interfaccia a riga di comando (CLI) di Docker è essenziale per padroneggiare Docker. Di seguito è riportato un assortimento di comandi che incontrerai frequentemente nel tuo viaggio su Docker:

  • docker run: avvia un nuovo contenitore da un'immagine.
  • docker ps: Visualizza tutti i contenitori attualmente in esecuzione.
  • docker images: Elenca tutte le immagini disponibili localmente.
  • docker build: costruisce una nuova immagine da un Dockerfile.
  • docker stop: arresta un contenitore attualmente in esecuzione.
  • docker rm: Elimina un contenitore.
  • docker rmi: Elimina un'immagine.
  • docker network: amministra le reti Docker.
  • docker volume: Gestisce i volumi Docker.

Ogni comando dispone di un insieme unico di opzioni che ti consentono di modificarne il comportamento per soddisfare le tue esigenze. Esploriamo ciascun comando e le rispettive opzioni.

IL esecuzione della finestra mobile Comando

IL docker run Il comando crea un nuovo contenitore da un'immagine specificata. Ad esempio, per avviare un contenitore dall'immagine Debian e aprire una shell interattiva al suo interno, utilizzare il seguente comando:

docker run -it debian:latest /bin/bash

IL finestra mobile ps Comando

IL docker ps il comando viene distribuito per elencare tutti i contenitori attualmente attivi. Rivela informazioni preziose su ciascun contenitore, inclusi l'ID del contenitore, l'immagine associata e lo stato di esecuzione. Per ottenere un elenco di tutti i contenitori in esecuzione, digita semplicemente:

docker ps

IL immagini della finestra mobile Comando

IL docker images Il comando ha il compito di elencare tutte le immagini Docker disponibili localmente. Restituisce informazioni su ciascuna immagine, incluso l'ID, il repository associato e il tag:

docker images

IL compilazione della finestra mobile Comando

IL docker build Il comando viene utilizzato per creare una nuova immagine Docker da un Dockerfile. Un Dockerfile è essenzialmente uno script che contiene le istruzioni per costruire un'immagine Docker. Ad esempio, per creare una nuova immagine denominata "myimage" utilizzando il Dockerfile nella directory corrente, dovresti utilizzare il comando seguente:

docker build -t myimage:latest .

IL arresto della finestra mobile Comando

IL docker stop Il comando termina normalmente un contenitore Docker in esecuzione. Puoi scegliere come target il contenitore desiderato utilizzando il suo ID. Ad esempio, per arrestare un contenitore con ID "abcdefg", dovresti utilizzare:

docker stop abcdefg

IL docker rm Comando

Usa il docker rm comando per eliminare un contenitore Docker. Come il stop comando, specifica l'ID contenitore del contenitore che desideri eliminare. Per esempio:

docker rm abcdefg

IL dockerrmi Comando

Usa il docker rmi comando per rimuovere le immagini Docker. Identifica l'immagine che desideri eliminare tramite il suo ID. Per esempio:

docker rmi 1234567

IL rete docker Comando

IL docker network Il comando è uno strumento versatile per creare, elencare e rimuovere reti Docker. Ad esempio, per creare una nuova rete denominata "mynetwork", dovresti utilizzare:

docker network create mynetwork

IL volume della finestra mobile Comando

Infine, il docker volume Il comando offre funzionalità per gestire i volumi Docker. Ad esempio, per creare un nuovo volume denominato "myvolume", dovresti utilizzare:

docker volume create myvolume

Navigazione nella gestione dei contenitori Docker

La gestione efficace dei contenitori Docker influenza in modo significativo la funzionalità e la longevità di un ambiente Docker. Il comando docker fornisce una varietà di sottocomandi cruciali per manipolare i contenitori Docker. Questi sottocomandi facilitano la creazione, il funzionamento, la modifica e l'eliminazione del contenitore. Che tu sia uno sviluppatore esperto o un principiante nella containerizzazione, la comprensione di questi comandi può migliorare sostanzialmente la tua interazione con Docker.

Comandi principali per la gestione dei contenitori Docker

Il comando docker ps è uno strumento essenziale nel toolkit Docker per enumerare tutti i contenitori in esecuzione. Eseguendo questo comando, puoi vedere tutti i contenitori attivi, l'immagine corrispondente, lo stato e l'ID contenitore univoco.

docker ps

Per terminare un contenitore Docker attualmente attivo, il file docker stop il comando viene distribuito. Aggiungi l'ID univoco o il nome del contenitore che desideri arrestare.

docker stop abcdefg

IL docker rm Il comando viene utilizzato per sradicare un contenitore Docker. Questo comando, come docker stop, accetta l'ID univoco o il nome del contenitore come argomento.

docker rm abcdefg

È fondamentale notare che l'eliminazione di un contenitore annulla tutte le modifiche apportate. È necessario creare una nuova immagine dal contenitore modificato utilizzando il comando "docker commit" per mantenere le modifiche.

Conservazione delle modifiche al contenitore utilizzando il commit docker

Mentre lavori con i contenitori Docker, potresti dover personalizzare un contenitore e preservare queste modifiche come una nuova immagine. Ciò può essere ottenuto utilizzando il file docker commit comando.

Avvia un nuovo contenitore utilizzando un'immagine di base e apporta le modifiche necessarie all'interno di questo contenitore. Ad esempio, considera di avviare un nuovo contenitore dall'immagine Debian e di aprire una shell all'interno del contenitore:

docker run -it --name mycontainer debian:latest /bin/bash

È possibile eseguire varie attività in questo nuovo contenitore, come la modifica dei file di configurazione o l'installazione di nuovo software. Dopo aver apportato le modifiche desiderate, utilizzare il file docker commit comando per produrre una nuova immagine che incapsula queste alterazioni. Per creare una nuova immagine denominata "myimage" con le modifiche apportate nel contenitore "mycontainer", esegui il seguente comando:

docker commit mycontainer myimage:latest

Ora possiedi un'immagine denominata "myimage", che incorpora le modifiche apportate nel contenitore "mycontainer". Utilizza questa nuova immagine per generare e gestire nuovi contenitori con configurazioni o software aggiornati.

Ricorda, il comando docker commit salva solo le modifiche apportate al filesystem del contenitore, non preservando le modifiche alla rete e all'archiviazione. Se è necessario conservare le modifiche alla rete e all'archiviazione, prendere in considerazione l'utilizzo di altri comandi Docker come rete docker e volume docker.

Avvolgendo

Durante la nostra discussione abbiamo approfondito l'installazione e la gestione di Docker Community Edition (CE) su una distribuzione Debian Linux. Docker CE offre tutti i vantaggi della containerizzazione, consentendo agli sviluppatori di creare, spedire ed eseguire applicazioni distribuite in ambienti diversi. I comandi e i casi d'uso Docker discussi qui offrono conoscenze fondamentali per la gestione dei contenitori Docker. Mentre l'articolo toccava i comandi fondamentali di Docker come docker run, docker ps, docker rm, e altri.

Ricorda che l'ecosistema Docker è molto più ampio, con numerosi comandi e opzioni che puoi esplorare per ottimizzare la tua esperienza Docker.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento