Docker è una piattaforma che aiuta gli sviluppatori a creare e distribuire applicazioni containerizzate. Aiuta a risolvere i problemi di compatibilità dei sistemi operativi fornendo ambienti virtualizzati leggeri per la gestione di tali applicazioni.
L’interfaccia a riga di comando (CLI) primaria di Docker fornisce potenti strumenti agli sviluppatori che lavorano con i container. A partire dal comando di base docker
, la CLI supporta circa 60 sottocomandi, la maggior parte dei quali accetta una serie di argomenti da riga di comando per affrontare compiti diversi.
Lavorare con la CLI di Docker
Il vostro ambiente Docker potrebbe essere il motore open-source Docker Engine o l’interfaccia grafica user-friendly di Docker Desktop. La CLI sarà la vostra interfaccia principale in un ambiente Docker Engine, ma avrete accesso anche allo strumento a riga di comando se installate Docker Desktop.
Siamo convinti che anche gli utenti di Docker Desktop finiranno per utilizzare la CLI una volta acquisita familiarità con questi 20 comandi essenziali di docker
.
Comandi Docker da conoscere
Scopriamo quali sono i comandi Docker che dovreste conoscere assolutamente.
1. docker system
Il comando docker system
aiuta a ispezionare e gestire l’ambiente Docker. Supporta argomenti da riga di comando per eseguire attività specifiche legate alla gestione, tra cui:
df
mostra l’utilizzo del discoprune
rimuove le reti, i container, le immagini o i volumi inutilizzatiinfo
mostra le informazioni relative al sistemaevents
visualizza un registro degli eventi di sistema in tempo reale
Di seguito è riportato il prompt iniziale dopo l’esecuzione di docker system prune
.
2. docker context
Questo comando aiuta a navigare e a configurare diversi contesti. In Docker, i contesti includono nomi, informazioni sulla sicurezza del livello di trasporto, configurazioni di endpoint e orchestratori.
Alcuni degli argomenti di docker context
:
ls
visualizza i dettagli del contesto predefinitoinspect [CONTEXT}
ispeziona un contesto specificatocreate [CONTEXT]
crea un nuovo contestouse [CONTEXT]
passa da un contesto all’altro
Di seguito è riportato un esempio di output di docker context ls
:
3. docker pause e unpause
Il comando docker pause
blocca i processi attivi di un container. Per eseguirlo, dovete specificare il nome del container, come mostrato di seguito:
docker pause [CONTAINER]
Ecco un esempio dell’output che potete aspettarvi dopo aver messo in pausa un container.
Il comando docker unpause
riprende i processi del container in pausa. Come per il comando precedente, dovete specificare il nome del container, come mostrato di seguito:
docker unpause [CONTAINER]
Di seguito è riportato un esempio dell’output che potete aspettarvi dopo aver messo in pausa un container.
4. docker rm
Questo comando rimuove container, volumi e reti. Permette di selezionare il componente da rimuovere in base ai suoi attributi. Ad esempio, potete rimuovere forzatamente i container in esecuzione o tutti i container specificati:
docker rm [CONTAINER]
rimuove il container il cui nome è specificato. L’output di questo comando è riportato nella schermata sottostante.
5. docker rmi
Questo comando viene utilizzato per rimuovere le immagini. Potete rimuovere una singola immagine o più immagini contemporaneamente. Potete descrivere l’immagine da rimuovere utilizzando l’ID breve o l’ID lungo. Questo comando è importante per mantenere il nodo host pulito ed efficiente.
Il comando per la rimozione delle immagini utilizza questa struttura:
docker rmi [IMAGE ID]
Di seguito è riportato un esempio del suo output.
6. docker volume
Questo comando permette di gestire i volumi in Docker. Potete usarlo per creare, rimuovere, elencare e ispezionare i volumi.
Alcuni degli argomenti di docker volume
sono:
create [OPTIONAL NAME]
crea un nuovo volume. Potete specificare il nome del volume o lasciare che Docker generi un nome casuale.ls
elenca i volumi disponibiliinspect [NAME]
mostra informazioni dettagliate sul volume.rm [NAME]
rimuove un volume da Docker.
Di seguito è riportato un esempio di output dopo la creazione di un volume.
7. ricerca docker
Utilizzate questo comando per cercare le immagini da Docker Hub, che potrete poi eseguire come container sul vostro computer. Permette di accedere alle immagini del registro di Docker Hub senza visitare il sito web.
Il comando segue questa struttura: docker search
. Potete specificare i nomi delle immagini che state cercando o creare un filtro.
Di seguito è riportato un esempio dell’output della seguente query:
docker search --filter is-official=true --filter stars=500 mysql
8. docker push
Il comando docker push
permette di condividere le vostre immagini nel registro di Docker Hub o in un repository privato.
La struttura del comando è:
docker push [OPTIONS] NAME[:TAG]
[OPTIONS]
permette di impostare -disable-content-trust
.
Per impostazione predefinita, questo valore è vero e non è obbligatorio includerlo.
NAME[:TAG]
richiede l’utilizzo del nome del registro, del repository e del tag image.
Di seguito è riportato un esempio dell’output di docker push
.
9. docker pull
Questo comando scarica un’immagine Docker da un repository in un registro pubblico o privato.
Il comando funziona in questo modo:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Questo comando permette di utilizzare immagini esistenti invece di crearne di nuove ogni volta che dovete creare un’applicazione containerizzata.
L’esempio seguente mostra l’output di un comando docker pull
:
10. docker ps
Per impostazione predefinita, questo comando visualizza l’elenco di tutti i container in esecuzione. Tuttavia, potete aggiungere un flag per elencare i container in base ad attributi come le dimensioni dell’utilizzo del disco, i container collegati e le etichette.
Il comando segue la struttura seguente:
docker ps [OPTIONS]
Alcuni dei suoi argomenti sono:
-a
visualizza un elenco di container in esecuzione e usciti-s
visualizza la dimensione su disco e la dimensione virtuale di ogni container
Potete usare i due argomenti insieme in questo modo:
docker ps -as
Di seguito è riportato un esempio dell’output di un comando docker ps
.
11. docker tag
Utilizzate questo tag per aggiungere metadati, come la versione, alla vostra immagine. I tag vengono solitamente creati al momento della creazione dell’immagine, ma il comando docker tag
permette di aggiungere un tag in un secondo momento, creando essenzialmente un alias per l’immagine di destinazione.
Questo comando segue la struttura:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
Nell’esempio seguente, elenchiamo le immagini con il nome “redis”. Dopo aver contrassegnato l’immagine con un numero di versione (“2.0”), il nuovo alias e l’immagine originariamente contrassegnata appaiono nell’elenco.
12. docker rename
Usate questo comando per rinominare un container. È utile quando si hanno diversi container e si vuole differenziarli in base al loro scopo.
Questo comando segue la struttura seguente:
docker rename [OLD_NAME] [NEW_NAME]
Di seguito è riportato un esempio di output prima e dopo un comando docker rename
.
13. docker commit
Questo comando permette di creare nuove immagini dopo le modifiche apportate ai file di un container. È importante perché permette di eseguire il debug di un container utilizzando una shell interattiva.
Questo comando segue la struttura:
docker commit [CONTAINER_ID] [name-of-new-image]
Di seguito sono riportati un esempio e un output del comando docker commit
.
14. docker network
È un comando di gestione della rete che permette di creare potenti applicazioni collegando servizi e container.
Il comando ha la seguente struttura:
docker network [OPTIONS]
I suoi argomenti includono:
connect
per collegare i container alle reticreate
per costruire nuove retidisconnect
per disconnettere i container in esecuzione dalle retirm
per rimuovere reti singole o multiple
Di seguito è riportato l’output di un comando docker network create
.
15. docker history
Questo comando fornisce la cronologia di un’immagine specificata, aiutandovi a capire come è stata creata e visualizzando le dimensioni dell’immagine.
Il comando ha la seguente struttura:
docker history [IMAGE]
Di seguito, vediamo la cronologia associata all’immagine redis:latest
.
16. docker update
Questo comando permette di aggiornare la configurazione di un container. Aiuta a evitare che i container consumino troppe risorse dell’host Docker. Il formato del comando è:
docker update [OPTIONS] [CONTAINER]
Alcune delle sue opzioni sono:
--restart
aggiorna il criterio di riavvio di un container--memory
imposta il limite di memoria di un container--cpus
imposta il numero di CPU allocate
Di seguito è riportato un esempio di output di un comando docker update
.
17. docker plugin install
Questo comando permette di gestire i plugin. È fondamentale perché permette di aggiungere nuove funzionalità senza alterare le configurazioni dell’host Docker.
Gli argomenti di docker plugin
includono:
create
per creare nuovi pluginenable
per abilitare i plugin installatiinstall
per installare nuovi pluginrm
per rimuovere uno o più pluginls
per visualizzare un elenco di plugin
Di seguito, utilizziamo docker plugin install
per aggiungere un plugin al nostro ambiente. Poi, usiamo docker plugin ls
per rivelare il suo stato.
18. docker container
Questo comando permette di gestire i container. Si usa per eseguire azioni come la creazione, l’eliminazione e la rimozione dei container, tra le altre cose.
Le opzioni di docker container
includono:
create
per creare un containercommit
per creare una nuova immagine dopo le modifiche apportate a un containerexec
per eseguire comandi all’interno di un container in esecuzionekill
per arrestare un container in esecuzionels
per visualizzare un elenco di container all’interno di un host Dockerrestart
per riavviare un containerrun
per creare un container da un’immagine ed eseguirlorm
per rimuovere un container da un host Docker
Di seguito è riportato un esempio di output di un comando docker container
.
19. docker logs
Questo comando recupera i log di un container. Fornisce informazioni sulle operazioni di un container, che possono essere essenziali durante il debug.
Di seguito è riportato un esempio di output di un comando docker logs
.
20. docker swarm
Questo comando aiuta a gestire uno swarm Docker, ovvero un gruppo di macchine (virtuali o fisiche) che eseguono Docker e sono configurate per lavorare insieme in un cluster. Questo comando semplifica la configurazione di uno swarm e i suoi vantaggi.
Di seguito sono riportate alcune delle opzioni di docker swarm
:
init
per avviare uno swarmjoin
per unirsi a uno swarmleave
per abbandonare uno swarmupdate
per aggiornare uno swarm
Di seguito sono riportati un esempio e l’output di un comando docker swarm init
.
Riepilogo
Docker è uno strumento efficace per creare e gestire applicazioni containerizzate. I comandi di facile comprensione della sua CLI facilitano la creazione e la manipolazione di applicazioni anche complesse.
La padronanza dei 20 comandi di cui sopra può accelerare lo sviluppo delle vostre applicazioni containerizzate.
In Kinsta, molti clienti dell’Hosting WordPress gestito utilizzano i nostri strumenti DevKinsta basati su Docker-Desktop per sviluppare e distribuire i loro siti web.
I clienti del servizio di Hosting di Applicazioni di Kinsta possono lavorare con Docker e il loro provider Git preferito (Bitbucket, GitHub o GitLab) per controllare la versione del codice sorgente e la distribuzione rapida di applicazioni containerizzate.
Lascia un commento