GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

20 utili esempi di comandi Docker in Linux

Il container Docker è una delle tecnologie più emergenti al giorno d'oggi. I container Docker sono generalmente utilizzati nella piattaforma CI/CD (Continuous Integration/Continuous Deployment). I container sono le VM leggere (Macchine virtuali) che utilizzano le risorse degli hypervisor sottostanti come (RAM, CPU, HDD e kernel).

Il comando Docker viene utilizzato per gestire contenitori e immagini dalla riga di comando. In questo articolo tratteremo 20 utili esempi di comandi docker in Linux. Presumo che la finestra mobile sia già installata sul tuo sistema Linux e che il tuo utente normale sia stato aggiunto al gruppo della finestra mobile.

1) Verifica la versione Docker

La prima attività importante quando si lavora sui contenitori docker è conoscere la versione della finestra mobile, eseguire sotto il comando docker per conoscere la versione

$ docker --version
Docker version 20.10.12, build e91ed57
$

2) Visualizza le informazioni a livello di sistema

Il comando "informazioni docker" viene utilizzato per visualizzare le informazioni a livello di sistema come la directory principale Docker, la versione del sistema operativo, la versione del kernel, la versione Docker, la RAM, la CPU e il registro Docker.

$ docker info

3) Cerca immagini Docker

Usando il comando "ricerca finestra mobile" possiamo cercare le immagini del contenitore della finestra mobile dal registro dell'hub della finestra mobile, supponiamo che io voglia cercare le immagini della finestra mobile più recenti di nginx.

$ docker search nginx

L'output del comando sopra apparirà come sotto,

4) Scarica le immagini del contenitore Docker

Il comando Docker pull viene utilizzato per scaricare le immagini del contenitore dal registro dell'hub Docker.

Sintassi :

$ Docker pull

Il comando pull Docker prova sempre a scaricare l'ultima versione dell'immagine, anche se possiamo specificare la versione particolare dell'immagine. Supponiamo che io voglia scaricare l'ultima versione dell'immagine rsyslog

$ docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
5eb5b503b376: Pull complete
1ae07ab881bd: Pull complete
78091884b7be: Pull complete
091c283c6a66: Pull complete
55de5851019b: Pull complete
b559bad762be: Pull complete
Digest: sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
$

Scaricando un'immagine specifica in base alla versione, supponiamo di voler scaricare Ubuntu:20:04 immagine docker, eseguire

$ docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
08c01a0ec47e: Pull complete
Digest: sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
$

5) Visualizza le immagini del contenitore Docker scaricate

Poiché sappiamo che la directory principale della finestra mobile è '/var/lib/docker', quindi ogni volta che scarichiamo le immagini utilizzando il comando pull della finestra mobile, tutte le immagini verranno salvate nella directory principale della finestra mobile.

Per visualizzare tutte le immagini del contenitore Docker scaricate, esegui

$ docker image ls
or 
$ docker images

Uscita

6) Esegui Docker Container

I container vengono avviati con il comando "docker run", supponiamo che io voglia eseguire un container dall'immagine nginx.

$ docker run -it -p 9000:80 --name=myapp nginx

uscita

Sopra verrà eseguito un container con il nome "myapp" e impostiamo anche la regola pat in modo tale che se una richiesta arriva alla porta 9000 sull'host docker, quella richiesta verrà reindirizzata al container myapp sulla porta 80. Se potresti aver notato che otteniamo direttamente la console subito dopo aver eseguito il comando. Digita exit per fermare/spegnere il container e se vuoi uscire dal container senza fermarlo, digita “ctrl+p+q”

Ora puoi accedere alla tua app nginx sulla porta 9000 usando il comando curl,

$ curl http://<Docker-Host-IP-Address>:9000/

7) Esegui il contenitore in modalità scollegamento

Possiamo eseguire un contenitore in modalità di scollegamento usando l'opzione -d nel comando "docker run". Qui la modalità di distacco significa che avremo il prompt dei comandi dopo aver eseguito il comando di esecuzione mobile. L'esempio è mostrato di seguito,

$ docker run -it -d -p 9080:80 --name=myapp2 httpd
f7dc2ece64708a9de5e53f341b0c7d17ac9189fb7c99079ad8744348bc5a6faa
$

8) Visualizza tutti i container in esecuzione

Il comando Esegui 'docker ps' viene utilizzato per visualizzare tutti i contenitori in esecuzione

$ docker ps

Per visualizzare tutti i contenitori in esecuzione insieme a quelli chiusi o interrotti, esegui

$ docker ps -a

9) Accesso alla console del contenitore

Per ottenere l'accesso alla console del contenitore, esegui il comando "docker exec"

[email protected]:~$ docker exec -it myapp /bin/bash
[email protected]:/#

Per uscire dalla console, digita il comando exit

10) Avvia, ferma, riavvia e interrompi i container

Proprio come le macchine virtuali, possiamo avviare, arrestare e riavviare i container Docker.

Usa il comando seguente per interrompere un contenitore in esecuzione

$ docker stop myapp2
myapp2
$

Al posto del nome del contenitore possiamo anche utilizzare l'ID contenitore

Usa il comando seguente per avviare un container.

$ docker start myapp2
myapp2
$

Usa il comando seguente per riavviare un container.

$ docker restart myapp2
myapp2
$

Proprio come il processo, possiamo anche uccidere un contenitore, usa il comando seguente per uccidere un contenitore.

[email protected]:~$ docker kill myapp2
myapp2
[email protected]:~$

11) Rimuovere un contenitore

Docker Container viene rimosso o eliminato utilizzando il comando 'docker rm'. 'docker rm' funzionerà solo quando la finestra mobile viene arrestata/spenta.

Sintassi:

$ docker rm {nome_container_OR_id_container}

$ docker stop test-app
test-app
$ docker rm test-app
test-app
$

Per rimuovere con forza un contenitore in esecuzione, utilizzare l'opzione '-f' nel comando docker rm. L'esempio è mostrato sotto

$ docker rm -f nginx-app

12) Rimuovere le immagini del contenitore Docker

Proprio come i contenitori, possiamo anche eliminare o rimuovere le immagini della finestra mobile. Il comando 'docker rmi' viene utilizzato per rimuovere le immagini del contenitore della finestra mobile.

Supponiamo di voler eliminare un'immagine della finestra mobile "Ubuntu:20.04", esegui

$ docker rmi ubuntu:20.04
Untagged: ubuntu:20.04
Untagged: [email protected]:669e010b58baf5beb2836b253c14f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db831e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f629593310578d2
$

Nel comando precedente possiamo usare l'id dell'immagine al posto del nome dell'immagine

$ docker rmi 54c9d81cbb44

13)  Salva e carica l'immagine del contenitore Docker

Per salvare un'immagine della finestra mobile in un file tar, usa il comando 'salva finestra mobile', l'esempio è mostrato di seguito:

$ docker save nginx -o mynginx.tar
$ ls -l mynginx.tar
-rw------- 1 sysops sysops 145931776 Feb 5 10:30 mynginx.tar
$

Per caricare un'immagine della finestra mobile da un file tar, usa il comando 'caricamento finestra mobile'

$ docker load -i mynginx.tar
Loaded image: nginx:latest
$

Nota:questi comandi diventano utili quando desideriamo trasferire l'immagine della finestra mobile da un host Docker a un altro.

14) Copia file/cartelle nel contenitore

Possiamo copiare file o cartelle in un contenitore dall'host Docker usando il comando 'docker cp'. Di seguito stiamo copiando la cartella "mycode" nel contenitore myapp

$ docker cp mycode myapp:/tmp

15) Visualizza la cronologia di un'immagine Docker

La cronologia dell'immagine Docker qui indica quali comandi vengono eseguiti durante la creazione di immagini Docker, possiamo visualizzare questi comandi usando la "cronologia Docker"

Sintassi:#

$ cronologia della finestra mobile {Image_Name_OR_Image_id}

$ docker history nginx

16) Visualizza i registri dal contenitore

Possiamo visualizzare i registri dai contenitori senza effettuare il login, eseguire il comando "registri docker"

Sintassi :

$ registri docker {container_name_or_container_id}

$ docker logs myapp

Per visualizzare i registri in tempo reale, utilizzare l'opzione '-f' nel comando dei registri mobili

$ docker logs -f myapp

Per visualizzare gli ultimi 10 log da un container, esegui

$ docker logs --tail 10 myapp

17) Visualizza le statistiche sull'utilizzo delle risorse dei contenitori

Per visualizzare l'utilizzo di CPU, memoria e I/O di rete di tutti i container, esegui il comando "docker stats"

$ docker stats

Il comando sopra mostrerà lo streaming live delle statistiche sull'utilizzo delle risorse di tutti i contenitori.

Per visualizzare le statistiche di un container specifico, esegui le statistiche docker seguite da container

$ docker stats myapp

Statistiche sull'utilizzo delle risorse senza live streaming

$ docker stats --no-stream

Possiamo visualizzare i processi in esecuzione di un container con "docker top ' comando.

Sintassi:#

superiore della finestra mobile {Container_Name_OR_ID}

$ docker top myapp

18) Visualizza l'indirizzo IP del contenitore

Le informazioni di basso livello del contenitore vengono visualizzate utilizzando il comando "docker inspect". Possiamo recuperare l'indirizzo IP di un container dal comando "docker inspect"

Sintassi:

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 

Esempio

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' myapp
172.17.0.2
$

19) Crea immagine contenitore Docker

L'immagine del contenitore Docker viene compilata utilizzando il comando "docker build", ma per il comando Docker build prima dobbiamo creare Dockerfile. Supponiamo che Dockerfile sia stato creato nella cartella mycode, quindi esegui il seguente comando per creare l'immagine della finestra mobile,

$ cd mycode
$ docker build -t mynginx:v2 .

Leggi anche :Come creare un'immagine Docker con Dockerfile (passo dopo passo)

20) Imposta il tag sull'immagine Docker

Il comando 'docker tag' viene utilizzato per impostare il tag su un'immagine.

Sintassi :

$ tag docker source_image{:tag}  target_image{:tag}

Supponiamo di voler impostare il tag dell'immagine sorgente "mariadb:latest" come "mariadb:10.03"

$ docker tag mariadb:latest mariadb:10.03
$ docker images | grep -i mariadb
mariadb 10.03 45a5a43e143a 3 days ago 410MB
mariadb latest 45a5a43e143a 3 days ago 410MB
$

Se desideri caricare l'immagine nel tuo registro privato, tagga l'immagine in modo tale che dovrebbe avere l'URL del registro seguito dal progetto e dall'immagine.

$ docker tag mariadb:latest myregistry:5000/db/mariadb:10.03

Ora accedi al tuo registro privato usando il comando "docker login" ed esegui il comando docker push per caricarlo.

$ docker push myregistry:5000/db/mariadb:10.03

Questo è tutto da questo articolo. Spero che tu abbia trovato questi esempi informativi. Sentiti libero di condividere le tue domande e commenti nelle sezioni dei commenti qui sotto.

Leggi anche :Come creare e utilizzare la rete MacVLAN in Docker


Docker
  1. sa Esempi di comandi in Linux

  2. w Esempi di comandi in Linux

  3. ac Esempi di comandi in Linux

  4. Esempi di comandi df in Linux

  5. du Esempi di comandi in Linux

9 Esempi utili di comandi touch in Linux

comando pwd in Linux con esempi utili

Comando SS in Linux con esempi utili

11 Esempi utili di comandi data di Linux

12 Esempi utili di comandi data di Linux

Esempi di comandi id in Linux