Tutorial Docker per principianti: nozioni di base, Archiarchitettura, Contenitori
Cos'è Docker?
docker è una piattaforma di sviluppo software per la virtualizzazione con più Operasistemi in esecuzione sullo stesso host. Aiuta a separare l'infrastruttura e le applicazioni per fornire rapidamente il software. A differenza degli Hypervisor, che vengono utilizzati per creare VM (macchine virtuali), la virtualizzazione in Docker viene eseguita a livello di sistema, chiamati anche contenitori Docker.
Come puoi vedere la differenza nell'immagine seguente, i contenitori Docker vengono eseguiti sopra quelli dell'host Operasistema di zione. Questo ti aiuta a migliorare l'efficienza e la sicurezza. Inoltre, possiamo eseguire più contenitori sulla stessa infrastruttura rispetto a macchine virtuali perché i contenitori utilizzano meno risorse.
A differenza delle VM che possono comunicare con l'hardware dell'host (ad esempio: adattatore Ethernet per creare più adattatori virtuali), i contenitori Docker vengono eseguiti in un ambiente isolato sopra il sistema operativo dell'host. Anche se il tuo host è in esecuzione Windows OS, puoi avere immagini Linux in esecuzione in contenitori con l'aiuto di Hyper-V, che crea automaticamente una piccola VM per virtualizzare l'immagine di base del sistema, in questo caso, Linux.
Perché usare Docker?
- Docker è un software per computer utilizzato per la virtualizzazione in modo da averne più Operasistemi di ting in esecuzione sullo stesso host
- Docker è il tipo di applicazione client-server, il che significa che abbiamo client che si inoltrano al server
- Le immagini Docker sono il “codice sorgente” per i nostri contenitori; li usiamo per costruire
- Dockerfile ha due tipi di registri 1.) registri pubblici e 2) registri privati
- I contenitori sono le unità organizzative del volume Docker. In termini semplici, un'immagine è un modello e un contenitore è una copia di quel modello. Puoi avere più contenitori (copie) della stessa immagine.
docker Architectura
Ora in questo tutorial sul contenitore Docker, parliamo dei componenti principali di Docker nel Docker Architecnologia:
Motore Docker
Docker è il tipo di applicazione client-server, il che significa che abbiamo client che si inoltrano al server. Quindi il demone Docker ha chiamato: dockerd è il motore Docker che rappresenta il server. Il demone docker e i client possono essere eseguiti sullo stesso host o su un host remoto e comunicano tramite il binario client della riga di comando, nonché un sistema completo API RESTful per interagire con il demone: dockerd.
Immagini Docker
Le immagini Docker sono il “codice sorgente” per i nostri contenitori; li usiamo per costruire contenitori. Possono avere un software preinstallato che accelera la distribuzione. Sono portatili e possiamo utilizzare immagini esistenti o crearne di nostre.
Registri Docker
Docker memorizza le immagini che creiamo nei registri. Esistono registri pubblici e privati. La società Docker ha un registro pubblico chiamato Mozzo Docker, dove puoi anche archiviare le immagini in privato. L'hub Docker ha milioni di immagini, che puoi iniziare a utilizzare ora.
Contenitori di Docker
I contenitori sono le unità organizzative e uno dei concetti di base di Docker. Quando creiamo un'immagine e iniziamo a eseguirla; stiamo correndo in un container. L'analogia del contenitore viene utilizzata a causa della portabilità del software che abbiamo in esecuzione nel nostro contenitore. Possiamo spostarlo, cioè “spedire” il software, modificarlo, gestirlo, crearlo o sbarazzarcene, distruggerlo, proprio come possono fare le navi mercantili con i veri container.
In termini semplici, un'immagine è un modello e un contenitore è una copia di quel modello. Puoi avere più contenitori (copie) della stessa immagine.
Di seguito abbiamo un'immagine che rappresenta perfettamente l'interazione tra i diversi componenti e il funzionamento della tecnologia dei contenitori Docker.
Abbiamo diversi comandi docker: docker pull, docker run... ne parleremo più avanti.
Come installare Docker su Linux/Ubuntu
Di seguito è riportato un processo di installazione passo passo di Docker su Linux/Ubuntu:
Passo 1 ) Per installare Docker, dobbiamo utilizzare i pacchetti DEB del team Docker.
Per questo, alcuni prerequisiti Ubuntu i pacchetti sono obbligatori.
Utilizzare il comando seguente per installare Ubuntu Packages
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*il segno “\” non è necessario viene utilizzato per la nuova riga, volendo è possibile scrivere il comando senza utilizzare “\” in una sola riga.
Passo 2) Aggiungi la chiave GPG Docker ufficiale con l'impronta digitale.
Utilizzare il comando Docker seguente per inserire la chiave GPG
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Passo 3) Successivamente, aggiungi il repository APT Docker.
Utilizzare il comando Docker seguente per aggiungere il repository
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Potrebbe esserti richiesto di confermare che desideri aggiungere il repository e che la chiave GPG venga aggiunta automaticamente al tuo host.
Il comando lsb_release dovrebbe popolare il file Ubuntu versione di distribuzione del tuo host.
Passo 4) Dopo aver aggiunto la chiave GPG,
Aggiorna le origini APT utilizzando il comando Docker riportato di seguito
$ sudo apt-get update
Ora possiamo installare il pacchetto Docker stesso.
Passo 5) Una volta aggiornate le fonti APT,
Inizia a installare i pacchetti Docker su Ubuntu utilizzando il comando Docker riportato di seguito
$ sudo apt-get install docker-ce
Il comando sopra indicato installa Docker e altri pacchetti aggiuntivi richiesti. Prima di Docker 1.8.0, il nome del pacchetto era lxc-docker e tra Docker 1.8 e 1.13 il nome del pacchetto era docker-engine.
NOTA: Finestra mobile per Windows richiede Windows 10 Pro o Enterprise versione 14393 o Windows server 2016 RTM da eseguire
Come utilizzare Docker utilizzando i comandi Docker di base
Ecco come utilizzare Docker utilizzando i comandi Docker di base:
Il comando più semplice che dobbiamo eseguire dopo aver installato Docker è $ docker info come abbiamo detto in precedenza.
$ sudo docker info
Dovresti ottenere un risultato simile o seguente
Come possiamo vedere nell'esempio Docker sopra, abbiamo informazioni sui contenitori Docker, quanti sono in esecuzione, in pausa o interrotti e quante immagini abbiamo scaricato. Quindi otteniamo la nostra prima immagine in questo tutorial sui comandi Docker.
$ sudo docker pull alpine
Con questo comando diciamo al docker di scaricare l'immagine alpine, per estrarla dal registro pubblico, l'ultima versione impostata di default.
*alpine è un'immagine Docker minima basata su Alpine Linux con un indice del pacchetto completo e una dimensione di soli 5 MB.
Se vogliamo eseguire l'immagine come contenitore, in questa guida ai tutorial di Docker utilizzeremo il seguente comando.
$ sudo docker run -i -t alpine /bin/bash
Se eseguiamo il comando verremo inviati direttamente al terminale dell'alpino. Il flag -i mantiene STDIN aperto dal contenitore, anche quando non sei collegato ad esso. Questo input standard persistente è la metà di ciò di cui hai bisogno per una shell interattiva. Il flag -t è l'altra metà e indica a Docker di assegnare uno pseudo-tty al contenitore. Questo ci offre una shell interattiva nel nuovo contenitore. Usciamo dal contenitore con un semplice comando exit.
Ora in questo tutorial di base su Docker, possiamo provare a eseguire un file Ubuntu immagine.
$ sudo docker run -it ubuntu /bin/bash
Puoi notare che la finestra mobile controlla l'immagine localmente e, se non è presente, l'immagine viene estratta automaticamente dalla libreria di immagini e ancora una volta abbiamo una shell interattiva in esecuzione. Possiamo anche nominare i contenitori mentre li eseguiamo.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
e usciamo di nuovo.
Possiamo anche eseguire il contenitore che abbiamo creato in precedenza, senza una shell interattiva.
$ sudo docker start container_name
E interrompi la scrittura del contenitore docker stop container_name
$ sudo docker stop container_name
Se vogliamo vedere tutti i contenitori in esecuzione, corriamo e basta
$ docker ps
E per tutti i contenitori aggiungiamo "- a" alla fine di questo stesso comando, come questo docker ps -a.
Questo comando mostra l'ID del contenitore, l'immagine utilizzata al momento della creazione, lo stato di esecuzione, le porte esposte e il nome generato casualmente per il contenitore per una gestione più semplice.
Quando eseguiamo i container vorremmo anche sapere quante risorse stanno utilizzando, a tale scopo possiamo utilizzare il comando.
$ docker stats
Puoi anche vedere quali immagini abbiamo scaricato localmente e informazioni su di esse.
$ sudo docker images
Il comando nell'esempio Docker sopra mostra l'immagine docker con un tag che mostra la nostra versione dell'immagine, un ID immagine distintivo, quando è stata creata e la dimensione dell'immagine.
Cos'è la virtualizzazione?
In precedenza, il processo di implementazione di un servizio era lento e faticoso. Innanzitutto, gli sviluppatori scrivevano il codice; quindi il team operativo lo avrebbe distribuito su macchine bare metal, dove avrebbe dovuto cercare versioni di librerie, patch e compilatori di linguaggio affinché il codice funzionasse. Se si verificassero bug o errori, il processo ricomincerebbe da capo, gli sviluppatori lo risolverebbero e poi di nuovo il team operativo sarebbe pronto per l'implementazione.
C'è stato un miglioramento con la creazione di Hypervisor. Gli hypervisor ne hanno più Macchine virtuali o macchine virtuali sullo stesso host, che potrebbero essere in esecuzione o disattivate. Le VM hanno ridotto notevolmente i tempi di attesa per la distribuzione del codice e la correzione dei bug, ma il vero punto di svolta sono stati i contenitori Docker.
Comandi Docker importanti
Di seguito sono riportati i comandi Docker importanti:
Comando | Descrizione |
---|---|
informazioni sulla finestra mobile | Comando di informazione |
tiro del docker | Scarica un'immagine |
docker run -i -t nome_immagine /bin/bash | Esegui l'immagine come contenitore |
la finestra mobile avvia our_container | Avvia contenitore |
finestra mobile stop nome_contenitore | Arrestare il contenitore |
docker ps | Elenco di tutti i contenitori in esecuzione |
statistiche della finestra mobile | Informazioni sul contenitore |
immagini docker | Elenco delle immagini scaricate |
Pulizia Docker | Uccidi tutti i contenitori in esecuzione. |
Inoltre, leggi Domande e risposte al colloquio di lavoro Docker per professionisti più freschi ed esperti.
Sommario
- Docker è una piattaforma di sviluppo software per la virtualizzazione con più Operasistemi in esecuzione sullo stesso host. Aiuta a separare l'infrastruttura e le applicazioni per fornire rapidamente il software.
- docker Architecnologia: Motore Docker, immagini Docker, registri Docker, contenitori Docker.
- Motore Docker: Docker è il tipo di applicazione client-server, il che significa che abbiamo client che si inoltrano al server. Quindi il demone Docker ha chiamato: dockerd è il motore Docker che rappresenta il server.
- Immagini Docker: Le immagini Docker sono il “codice sorgente” per i nostri contenitori; li usiamo per costruire contenitori. Possono avere un software preinstallato che accelera la distribuzione. Sono portatili e possiamo utilizzare immagini esistenti o crearne di nostre.
- Registri Docker: Docker memorizza le immagini che creiamo nei registri. Esistono registri pubblici e privati. La società Docker dispone di un registro pubblico chiamato Docker hub, dove è anche possibile archiviare le immagini in privato. L'hub Docker ha milioni di immagini, che puoi iniziare a utilizzare ora.
- Contenitori Docker: I contenitori sono le unità organizzative e uno dei concetti di base di Docker. Quando creiamo un'immagine e iniziamo a eseguirla; stiamo correndo in un container. L'analogia del contenitore viene utilizzata a causa della portabilità del software che abbiamo in esecuzione nel nostro contenitore.