GNU/Linux >> Linux Esercitazione >  >> Linux

40 importanti comandi Docker per gli sviluppatori di software

Docker ha preso d'assalto il mondo sin dal suo inizio nel 2013. Se sei un programmatore esperto che crea innovazione utilizzando gli stack moderni, è probabile che tu abbia lavorato o almeno sentito parlare di Docker. Non preoccuparti se sei un principiante e hai difficoltà a comprendere il docker. Abbiamo preparato questa guida per introdurre la finestra mobile ai principianti e delineato i 40 comandi più utili della finestra mobile. Sebbene la finestra mobile non riguardi solo comandi e interfacce, una padronanza dei comandi di base ti aiuterà a visualizzarne il funzionamento quasi senza sforzo.

Nozioni fondamentali su Docker

Sei anni fa, Docker è nato come provider di virtualizzazione a livello di sistema operativo che consentiva agli sviluppatori di distribuire i propri prodotti all'interno di container. Puoi pensare ai container come a delle mini macchine virtuali. Fornisce funzionalità simili agli strumenti Linux VMware ma richiede risorse CPU molto basse. Di conseguenza, le aziende possono distribuire migliaia di prodotti in un'unica piattaforma.

Docker ottiene questo consumo di risorse di basso livello in base alla sua progettazione. Fornisce meno isolamento rispetto alle macchine guest VMware autonome ed elimina molte funzionalità indesiderate non richieste dalle applicazioni in esecuzione nei server. Quindi, la scelta di uno da Docker e da hypervisor a tutti gli effetti come VMware dipende esclusivamente dai requisiti del progetto.

Un'altra caratteristica utile di Docker è che fornisce ambienti esatti per i tuoi prodotti. Supponiamo che tu stia creando un'app mobile e desideri condividere il progetto con altri collaboratori. Di solito, devono scaricare le librerie e i framework esatti con spesso la stessa versione richiesta dalla tua app. Porta a vari problemi di configurazione e riduce significativamente gli sforzi di sviluppo.

Poiché Docker crea un'immagine dell'ambiente del prodotto, tutti i tuoi collaboratori possono scaricare questa immagine e utilizzarla indipendentemente dalla loro configurazione di sistema. Docker recupererà e costruirà l'ambiente da solo. Imparerai la maggior parte di questo attraverso i nostri esempi.

Comprensione di Dockerfile

In Docker, Dockerfile è il componente che ci consente di definire l'ambiente di uno strumento. Non è altro che un file di testo contenente istruzioni scritte in un formato comprensibile al runtime docker. La creazione e la gestione dei Dockerfile sono semplici. Quindi lasceremo lo studio sintattico di Dockerfiles per un altro giorno.

- -

In pratica, utilizzerai Dockerfile per definire i pacchetti utilizzati dalla tua applicazione, recuperarli e crearli. Quando condividi questo Dockerfile con i collaboratori, questi possono configurare facilmente l'ambiente utilizzando la finestra mobile per creare questa immagine. Si spera che questa conoscenza semplice ma essenziale sia sufficiente per aiutarti a comprendere i comandi di cui discutiamo oggi.

Utili comandi Docker da padroneggiare

Docker è cresciuto enormemente sin dai suoi primi giorni. Oggi offre molteplici servizi che soddisfano le diverse esigenze di virtualizzazione. Quindi, ci sono una miriade di comandi disponibili per il cli docker. I nostri editor hanno selezionato i comandi più utilizzati poiché ti aiuteranno a comprendere meglio i concetti fondamentali.

Comandi di base della finestra mobile per principianti

Discutiamo i comandi fondamentali di docker nella sezione seguente. Ti aiuteranno a far girare i tuoi container e forniranno alcune informazioni tanto necessarie sulla finestra mobile.

1. Crea un contenitore utilizzando immagini da Docker Hub

Docker Hub è il repository Docker ufficiale per le immagini Docker. Contiene migliaia di immagini predefinite create da sviluppatori e aziende open source. Puoi facilmente avviare un contenitore mobile funzionante utilizzando un'immagine da questo repository.

$ docker create -it ubuntu:xenial bash

Il comando precedente estrae l'immagine Ubuntu Xenial da Docker Hub e crea un contenitore utilizzando questa immagine. Il flag -it viene utilizzato per indicare alla finestra mobile di aggiungere il terminale integrato a questo contenitore. Inoltre, la parte bash dice alla finestra mobile di eseguire il comando bash.

2. Elenca i contenitori Docker

Una volta creato, ti consigliamo di verificare se il contenitore è stato creato correttamente o meno. Il comando ps dice a Docker di elencare i contenitori correnti.

$ docker ps

È probabile che questo comando non visualizzi alcun contenitore in esecuzione. Succede perché non hai ancora avviato il tuo contenitore Docker. Tuttavia, puoi utilizzare il -a flag per dire alla finestra mobile di elencare tutti i contenitori.

$ docker ps -a

Questo comando dovrebbe visualizzare il contenitore che hai creato nel comando precedente.

3. Avvia il tuo contenitore

Per utilizzare i tuoi contenitori nella finestra mobile, devi prima avviarli. Il comando di avvio della finestra mobile ti consente di farlo molto rapidamente, come mostrato nell'esempio successivo.

$ docker start CONTAINER_ID

Qui, CONTAINER_ID è l'ID del tuo contenitore. Lo otterrai quando esegui il comando docker ps -a. Copialo da lì e usalo per questo esempio. Avvierà il tuo container in pochi secondi.

4. Connessione al tuo container

Una volta avviato correttamente, dovrai connetterti a questo contenitore per poterlo utilizzare. Il comando Docker Attach è qui per questo scopo. Il comando successivo ti mostra come connetterti al container che hai creato in precedenza.

$ docker attach CONTAINER_ID

Ciò comporterà una modifica nel prompt. E ora sei all'interno di un contenitore basato su Ubuntu Xenial. Ciò che fai all'interno di questo contenitore rimarrà al suo interno. Puoi verificare il contenitore eseguendo cat /etc/issue.

5. Terminare il contenitore

Puoi terminare facilmente un contenitore attivo utilizzando il comando di arresto mobile. È uno dei comandi docker più utili per i principianti poiché consente di uscire facilmente da un contenitore in esecuzione. Il comando successivo ti mostra come funziona.

$ docker stop CONTAINER_ID

Dovrai eseguirlo da un altro terminale poiché il terminale precedente esegue il container e non ha una finestra mobile al suo interno. Un'altra soluzione semplice è uscire semplicemente dal contenitore usando Ctrl + D o digitando exit all'interno del contenitore.

6. Eliminazione di un contenitore

Poiché i contenitori sono come un piccolo pezzo di macchine virtuali, puoi eliminarli facilmente senza affrontare le conseguenze nella macchina host. Usa il comando seguente per eliminare il contenitore che hai creato in precedenza.

$ docker rm CONTAINER_ID

Eliminerà il contenitore all'istante. Tuttavia, verranno eliminati anche tutti i file e le configurazioni effettuate all'interno di questo contenitore. Quindi, assicurati di spostarli altrove se ne avrai bisogno in futuro.

7. Uccidere un container

Docker consente inoltre agli utenti di terminare un container in esecuzione. La differenza tra fermare un container e ucciderne uno è abbastanza sottile, almeno in Docker. Quando usi Docker Stop, prima termina i processi in esecuzione all'interno del contenitore, quindi termina il contenitore.

$ docker kill CONTAINER_ID

Tuttavia, il comando docker kill uccide l'intero processo del contenitore in esecuzione nella macchina host. Ciò potrebbe causare una configurazione errata indesiderata o danneggiare i processi del contenitore. Quindi, fai attenzione quando usi tali comandi docker per Ubuntu.

8. Distacco dai contenitori

Supponiamo che tu abbia iniziato e ti sia attaccato a un contenitore. Ora vuoi lasciare questo contenitore in esecuzione ma vuoi usare la tua sessione terminale. Poiché i comandi della finestra mobile stop e kill terminano il contenitore, non puoi usarli per il tuo scopo.

Ctrl+P Ctrl+Q

Tenere premuta la combinazione di tasti sopra all'interno di un contenitore in esecuzione ti staccherà da quel contenitore. Ad esempio, tengo semplicemente premuto Ctrl e premi P e D uno dopo l'altro.

9. Copia di Contenuti tra Contenitori e File System

Spesso potresti voler copiare i file di configurazione del tuo prodotto corrente dal contenitore e nel filesystem o anche in altri contenitori. Il comando docker cp ti consente di farlo. Agisce come il comando cp -a di Unix e copia i contenuti in modo ricorsivo.

$ docker cp CONTAINER_ID:/test_file test_file

Questo comando copierà il file_test dal contenitore con CONTAINER_ID alla macchina ospite. Il prossimo ci mostra come copiare un documento dall'host a un contenitore.

$ docker cp test_file CONTAINER_ID:/test_file

10. Esecuzione di comandi all'interno di container

Sebbene tu possa eseguire comandi direttamente da un container in esecuzione, potresti non voler allegare container tutto il tempo, soprattutto se hai centinaia di container. Poiché si tratta di uno scenario comune, il runtime docker fornisce un comando affidabile per eseguire comandi specifici del contenitore dall'istanza del terminale dell'amministratore.

$ docker exec CONTAINER_ID command

Ciò ti consentirà di eseguire il comando all'interno di CONTAINER_ID contenitore.

11. Elenca tutte le immagini Docker

Le immagini Docker sono l'elemento costitutivo dei contenitori. Come dovresti ricordare, i contenitori vengono creati utilizzando un'immagine come base. È normale che gli sviluppatori abbiano più immagini Docker nei loro sistemi. Il prossimo comando ci mostra come elencare tutte le immagini nella tua macchina.

$ docker images

Chiamando semplicemente questo comando verranno visualizzate tutte le immagini della finestra mobile di primo livello insieme alle loro dimensioni, tag e repository. Il -q l'opzione può essere utilizzata solo per recuperare l'IMAGE_ID .

12. Rimozione delle immagini Docker

A volte potresti voler rimuovere una o più immagini della finestra mobile che non sono più necessarie. Il comando successivo mostra come farlo.

$ docker rmi <IMAGE_ID>

Tuttavia, se l'immagine è contrassegnata da più repository, dovrai eliminarla nel modo seguente.

$ docker rmi REPOSITORY:TAG

Puoi trovare queste informazioni quando esegui le immagini della finestra mobile dei comandi.

Comandi Docker produttivi per sviluppatori intermedi

Se hai già afferrato il concetto di finestra mobile e contenitori, potresti voler esaminare alcune funzionalità avanzate. Nella sezione seguente discutiamo vari utili comandi della finestra mobile destinati ad aumentare la produttività degli sviluppatori.

13. Aggiunta di volumi persistenti per i contenitori

Quindi, quando eliminiamo un contenitore, tutti i dati ad esso associati vengono persi. Docker consente agli sviluppatori di creare "volumi ” che forniscono una memorizzazione permanente per questi dati. I volumi sono semplicemente un meccanismo che lega il tuo contenitore a uno spazio predefinito sul tuo filesystem.

$ docker create -it -v $(pwd):/var/www ubuntu:xenial bash

L'esecuzione del comando precedente legherà la directory di lavoro corrente a /var/www posizione del tuo contenitore. Ora puoi modificare i file nella tua directory attuale e le modifiche si rifletteranno nella finestra mobile.

14. Creazione ed esecuzione di container utilizzando Docker Run

Finora, abbiamo prima creato i nostri contenitori docker e poi li abbiamo avviati. Tuttavia, docker ci consente di eseguire entrambe queste operazioni utilizzando un solo comando. Dai un'occhiata all'esempio qui sotto per vedere come funziona.

$ docker run -it -d ubuntu:xenial bash

Quando esegui questo comando, preleverà l'immagine Xenial, creerà il contenitore e lo avvierà con bash. Tuttavia, non vedrai l'effetto direttamente nel tuo terminale. Questo perché abbiamo indicato alla finestra mobile di eseguire questo contenitore in background utilizzando -d bandiera. L'eliminazione di questo ti porterà al contenitore non appena viene creato.

15. Creazione di un contenitore denominato

Il –nome L'opzione può essere utilizzata per creare contenitori che portano nomi specifici. Puoi usarli in sostituzione di CONTAINER_ID per la maggior parte dei comandi della finestra mobile. Il comando successivo lo mostra in azione.

$ docker create --name TEST nginx

Questo comando estrarrà l'immagine Nginx da Docker Hub e creerà il contenitore chiamato TEST in questo caso. Ora puoi avviarlo e allegare la tua sessione per utilizzare il contenitore. Funziona allo stesso modo con il comando di esecuzione della finestra mobile.

16. Esporre i porti per i container

Puoi comunicare con i tuoi contenitori direttamente dall'host senza utilizzare il runtime Docker. Funziona utilizzando una sorta di schemi di rete definiti dall'amministratore. Esporre alcune porte per il container è una tecnica così diffusa.

$ docker run --name NEW nginx -p 8080:80

Il comando precedente crea un contenitore denominato NUOVO e vincola il suo porto 80 al porto 8080 del sistema ospite. Quindi, ora potrai inviare richieste/risposte al tuo container utilizzando questa porta.

17. Cerca le modifiche in un contenitore

Spesso la minima configurazione errata può causare problemi indesiderati e richiedere ore per il debug. Il comando docker diff torna utile in molti di questi casi. Puoi usarlo per ispezionare qualsiasi modifica nel filesystem del tuo container.

$ docker diff CONTAINER_ID

Quindi, se sai per certo che un determinato contenitore è completamente integro, puoi utilizzare questo comando di tanto in tanto per visualizzare le modifiche nel filesystem di questo contenitore.

18. Creazione di una nuova immagine da contenitori modificati

Docker consente agli sviluppatori di creare un'immagine completamente nuova basata sulle modifiche di un container già esistente. Questo verrà utilizzato quando desideri creare più contenitori per diverse fasi della tua applicazione.

$ docker commit CONTAINER_ID REPOSITORY:TAG

Il comando precedente creerà una nuova immagine utilizzando CONTAINER_ID contenitore.

19. Server di monitoraggio per container Docker

Il comando docker events consente agli sviluppatori di monitorare i server per informazioni in tempo reale su contenitori, immagini, plug-in e molti altri. Puoi provarlo nel tuo sistema usando due shell della riga di comando.

$ docker events

Immettere il comando sopra nella prima shell. Ora genera un contenitore Docker in un'altra shell. Esegui alcuni comandi docker all'interno di quel contenitore e riceverai notifiche in tempo reale nel primo terminale.

20. Ispeziona le cronologie delle immagini

Come discusso in precedenza, le immagini sono gli elementi costitutivi dei contenitori docker. Quindi, puoi facilmente visualizzare le cronologie delle immagini per rilevare problemi improvvisi in un contenitore. È semplice utilizzare questo comando.

$ docker history IMAGE_ID

Ottieni semplicemente l'ID immagine del contenitore usando docker ps e usalo come mostrato sopra. Mostrerà come viene creata l'immagine corrente.

21. Caricamento di immagini Docker da Tars

Un'altra grande caratteristica della finestra mobile è la possibilità di caricare immagini da tar. Consente inoltre agli utenti di caricare immagini dallo standard input. La sintassi del comando di caricamento è mostrata di seguito.

$ docker load < IMAGE.tar.gz

Puoi anche usare il seguente comando.

$ docker load --input IMAGE.tar

Ora elenca le immagini della finestra mobile per verificare gli effetti di questi comandi.

22. Visualizza informazioni a livello di sistema su Docker

La visualizzazione delle informazioni a livello di sistema sul runtime della finestra mobile ti aiuterà a monitorare i tuoi contenitori. Inoltre, fornisce informazioni cruciali che possono essere utili ai debugger grazie alla sua natura rivelatrice. Usa il comando seguente per visualizzarlo nel tuo sistema host.

$ docker info

Sebbene apparentemente semplice, questo comando fornirà una pletora di informazioni riguardanti sia la macchina host che i contenitori docker.

23. Rinominare i contenitori Docker

Uno dei comandi della finestra mobile più utili per avviare gli sviluppatori è il comando di ridenominazione della finestra mobile. È un semplice comando che si limita a rinominare il contenitore, ma ha un grande significato per i principianti.

$ docker rename CONTAINER NEW_NAME

Puoi utilizzare CONTAINER_ID o il parametro Name per rappresentare il tuo container. Il NEW_NAME campo è per il nuovo nome del contenitore. Puoi ottenere sia il nome che l'ID di un contenitore usando il comando docker ps -a.

24. Riavvio dei contenitori Docker

Spesso dovrai occuparti di contenitori che sono impiccati o hanno qualche nuovo problema. Uno dei tanti motivi potrebbe essere il consumo di risorse extra. Il riavvio dei contenitori dovrebbe essere la prima cosa da fare in questi casi, come avviene con i computer.

$ docker restart CONTAINER[S]

Per impostazione predefinita, il comando precedente riavvierà il contenitore dopo 10 secondi. Tuttavia, puoi specificare questo valore utilizzando -t bandiera. I valori devono essere interi.

Comandi Docker per la rete

È essenziale avere una comunicazione senza problemi tra i tuoi container. Per fortuna, i comandi di rete Docker ti semplificheranno le cose. Abbiamo discusso solo dei comandi di rete di base nella sezione seguente.

25. Elenca tutte le reti

L'utilità di rete è uno dei migliori strumenti del cli docker. Puoi usarlo per elencare tutte le reti disponibili per il tuo demone Docker nel modo seguente.

$ docker network ls

Stamperà tutte le reti che possono essere collegate dai tuoi container.

26. Connettiti alle reti

Puoi connettere rapidamente uno o più contenitori Docker in esecuzione a una rete multi-host. Il comando successivo lo dimostra.

$ docker network connect NET CONTAINER_ID

Qui, NET rappresenta la rete a cui vuoi connetterti e CONTAINER_ID rappresenta il contenitore. Puoi anche utilizzare il nome del contenitore al suo posto.

27. Disconnetti dalle reti

Anche disconnettere le reti da una rete è facile come collegarle. Dai un'occhiata all'esempio qui sotto per scoprire come funziona.

$ docker network disconnect NET CONTAINER_ID

Una volta eseguito, questo comando disconnetterà il contenitore dalla NET Rete. Puoi anche aggiungere il -f flag per forzare la disconnessione.

28. Crea reti

Puoi anche sfruttare il comando di rete Docker per creare reti personalizzate tra i tuoi container. Questo è regolarmente utilizzato nella produzione. Il comando successivo mostra come creare reti di container.

$ docker network create NET

Questo comando può richiedere diverse opzioni aggiuntive per fornire funzionalità avanzate come la specifica dei parametri di rete. Puoi trovare maggiori informazioni su di loro qui.

29. Visualizza informazioni dettagliate sulle reti

Il comando di rete Docker consente agli sviluppatori di monitorare le informazioni di rete in modo molto dettagliato. Rende il debug molto più semplice e la configurazione quasi senza sforzo. Il comando successivo ne mostra un semplice esempio.

$ docker network inspect NET

Questo comando fornirà tutti i tipi di informazioni disponibili per la rete NET . Puoi usare -v flag per rendere l'output più leggibile. Inoltre, puoi utilizzare -f per formattare l'output in base a un modello.

30. Elimina reti

Il comando docker network rm può essere utilizzato per rimuovere molto rapidamente una o più reti di container. Il comando seguente lo dimostra per te.

$ docker network rm NET

Puoi anche rimuovere invece di rm per questo comando poiché sono alias.

31. Elimina tutte le reti inutilizzate

Docker consente agli amministratori di eliminare tutte le reti inutilizzate. Si chiama potatura in termini di docker. Il comando seguente dimostrerà come funziona.

$ docker network prune

È un comando interattivo e chiederà conferma per ogni rimozione. Puoi aggiungere il -f flag per disattivarlo. Questo comando è sicuro poiché non dipende dall'utente.

Comandi Docker vari

Ci sono molti comandi aggiuntivi disponibili per il demone docker. Tuttavia, non possiamo semplicemente discuterli tutti in un'unica guida. Quindi, non allarmarti se non trovi alcuni comandi specifici nel nostro elenco. Ecco alcuni comandi docker aggiuntivi per sistemi simili a Ubuntu.

32. Crea immagini da Dockerfile

Dockerfile è lo strumento di configurazione della build principale per i contenitori Docker. Puoi imparare come crearli qui. In questo esempio, dimostriamo come creare un'immagine contenitore da un Dockerfile.

$ docker build . -t APP:v1

Questo comando creerà l'immagine utilizzando il Dockerfile che risiede nella directory di lavoro corrente. Imposterà APP come nome del repository e v1 come il tag. Dovrai specificare il percorso se il Dockerfile esiste in qualche altra directory.

33. Rimozione di tutte le risorse inutilizzate

Poiché i sistemi host di solito contengono centinaia di container, molto spesso sorgono risorse penzolanti. Può essere improduttivo e può influire sul carico di lavoro del server. Puoi utilizzare il comando seguente per rimuovere tutte queste risorse.

$ docker system prune

Eliminerà tutti i contenitori, i volumi e le reti inutilizzati. Inoltre, puoi aggiungere il -a flag per eliminare tutti i contenitori e le immagini inutilizzati dal runtime della finestra mobile.

34. Rimozione di volumi specifici

Puoi facilmente eliminare alcuni volumi specifici che non sono più necessari ai tuoi contenitori. È una pratica comune durante la produzione. Il comando del volume della finestra mobile può essere utilizzato a questo scopo, come mostrato nell'esempio successivo.

$ docker volume rm VOLUME_NAME

Comporterà la cancellazione del volume specificato. Puoi passare il -f opzione per saltare le conferme.

35. Ricerca di immagini in Docker Hub

Il docker cli consente inoltre agli sviluppatori di cercare immagini specifiche nell'hub Docker direttamente dal terminale. A questo scopo puoi utilizzare il comando di ricerca nella finestra mobile.

$ docker search nginx

Una volta eseguito, cercherà l'immagine Nginx ufficiale nel repository ufficiale. Puoi aggiungere diversi filtri per restringere il campo o specificare la tua ricerca.

36. Elimina contenitori all'uscita

Puoi creare contenitori che verranno eliminati al termine del lavoro e all'uscita da esso. Può essere utile in diverse situazioni, ad esempio per la risoluzione dei problemi. Il comando successivo lo mostra in azione.

$ docker run --rm --it xenial /bin/bash

Questo comando crea e avvia un contenitore basato su Xenial con bash in esecuzione all'interno. Puoi fare il tuo personale qui e non appena termini il container, il motore Docker eliminerà questo container automaticamente.

37. Ottieni registri di rete su Host

Avere a portata di mano i log delle reti di container è estremamente utile. È possibile utilizzare il comando seguente per ottenere i registri del contenitore sul computer host.

$ journalctl -u docker.service

Puoi trovare la maggior parte delle soluzioni per la risoluzione dei problemi esaminando l'output di questo comando.

38. Esporta file system container come tar

Il docker cli fornisce il comando export che può essere utilizzato per esportare il filesystem di un container come archivio tar. Dai un'occhiata al comando seguente per capire come funziona.

$ docker export giant_panda > new.tar

Questo comando è equivalente al comando successivo.

$ docker export --output="new.tar" giant_panda

39. Visualizza le informazioni sulla versione

Puoi facilmente visualizzare le informazioni sulla versione per il tuo client Docker e le controparti del server con i comandi seguenti.

$ docker version

Puoi anche ottenere la versione del demone Docker insieme alle informazioni sulla build usando quella successiva.

$ docker -v

40. Visualizza le informazioni della guida

La documentazione Docker è semplicemente stimolante. Puoi ottenere aiuto sul demone generale usando semplicemente la finestra mobile dei comandi.

$ docker

Per ottenere dati aggiuntivi sui comandi figlio, utilizza la seguente sintassi.

$ docker command[S] --help
$ docker network --help

Quindi puoi facilmente estendere la profondità della documentazione cli.

Pensieri finali

I comandi Docker sono essenziali per i manutentori di sistema e gli sviluppatori moderni. È difficile spiegare con precisione l'impatto della finestra mobile sulle moderne distribuzioni di applicazioni. Quasi tutte le aziende tradizionali hanno adattato la finestra mobile. Quindi, opportunità di lavoro ben pagate sono disponibili anche per i laureati CS in tutto il mondo. Quindi, l'apprendimento di alcuni di questi comandi si rivelerà un grande investimento per i futuri ingegneri. Speriamo di essere stati in grado di fornirti le conoscenze da te ricercate. Commenta i tuoi pensieri e facci sapere se hai altre domande su Docker.


Linux
  1. Cheat sheet per i comandi Linux comuni

  2. 8 comandi Linux per una gestione efficace dei processi

  3. 10 comandi Linux per la diagnostica di rete

  4. Alcuni comandi DOCKER

  5. Il miglior software di pittura per Linux

Alternative Kubernetes ai comandi Docker

Docker Exec:il tuo comando Goto per l'esecuzione di comandi in Docker

Comandi Docker per la gestione del ciclo di vita dei container (Guida definitiva)

25 Devi conoscere i comandi di Nginx per sviluppatori e amministratori

20 utili esempi di comandi del volume Docker per gli sviluppatori moderni

40 utili comandi git per amministratori e sviluppatori Linux