Docker: tutto sui container

Logo Docker: Container Loaded Whale

Come forse già saprai, esistono diversi tipi di virtualizzazione, uno di questi è la virtualizzazione a livello di sistema operativo, e uno dei progetti che spicca di più in questo senso è Dock, insieme ad altri progetti open-source come OpenVZ, LXC / LXD, Linux-VServer, ecc. o il software proprietario Virtuozzo. Se conosci questo mondo o sei un assiduo di questo tipo di blog, conoscerai già il progetto il cui logo è una balena (da qui il titolo per chi ancora non lo conosce), e soprattutto te ne sarai accorto come negli ultimi anni la sua presenza sui media e l'interesse siano aumentati in modo esponenziale.

Ed è che queste nuove tecnologie sono il presente e il futuro, soprattutto con la crescita brutale dei servizi in la nuvola di cui abbiamo parlato tante volte. Docker, tra molti altri progetti open source e gratuiti, sono quelli che consentono questa espansione e le grandi possibilità che richiediamo dal cloud. Ma cos'è Docker? Cos'è un container? Come funziona?

Docker e contenitori:

Rancher OS

Sebbene la risposta è un po 'più complessa e avrei bisogno di molti di questi articoli, cercherò di riassumerli. Tuttavia, se hai bisogno di saperne di più su questo fantastico progetto, ci sono ottimi libri come Alberto González, attuale Red Hat Cloud Consultant. È una guida pratica che puoi acquistare ad un prezzo contenuto sia in formato Amazon e agape. Bene, detto questo, vediamo cosa è Docker.

Sappiamo tutti che I contenitori Sono diventati uno strumento con molto potenziale in Linux, beh, questi possono essere implementati e gestiti grazie al software Docker. I contenitori non sono altro che "scatole" isolate con gli elementi essenziali per poter eseguire un determinato programma o applicazione. Questa può essere intesa come una macchina virtuale leggera, al posto di quelle complete e pesanti con cui si lavora in piena virtualizzazione. Questa riduzione si traduce in un minore overhead.

Anche i contenitori portano leggerezza portabilità, autosufficienza e flessibilità molto ambito dagli sviluppatori. Tutto grazie a LXC del nostro kernel preferito, Linux, e al progetto Docker stesso, con i suoi contenitori, immagini e repository. Ed sono proprio questi vantaggi che hanno portato al successo, che è stato notato sia dal coinvolgimento di alcune grandi aziende del settore come Google, Red Hat, IBM e Microsoft, sia dalla sua implementazione e buona accoglienza nelle grandi aziende e nel cloud. servizi che tutti usiamo quotidianamente (AWS, Digital Ocean, ...).

Installa Docker passo dopo passo:

Interfaccia web Docker Cloud

Hai diverse alternative per installare Docker, dall'ottenere il tarball con il codice sorgente e la compilazione, ottenere i binari dai diversi repository e gestirli con i gestori di pacchetti della tua distribuzione openSUSE, Ubuntu, Debian, CentOS, Fedora, ecc. Forse con i pacchetti binari è più comodo, ma per non allungare troppo l'argomento, presenterò un metodo più diretto e universale che funziona in qualsiasi distribuzione:

sudo curl -fsSL https://get.docker.com/ | sh

Così semplice. Ora abbiamo il diavolo e il cliente, quest'ultimo sarà quello che interagirà con il demone Docker e ci permetterà di fare tutto ciò che questo software offre. Ma c'è ancora qualcosa da fare, e cioè revocare il servizio, cioè avviare il demone Docker. Per systemd puoi fare quanto segue:

sudo systemctl enable docker

sudo systemctl start docker

Se tutto è andato bene, sarà già attivo tutti. Puoi verificarlo con:

sudo systemctl status docker

Possiamo iniziare a usarlo ora ...

Primi passi: creazione di un contenitore

Schema di un contenitore

Bene, come già sai, Il container È un pacchetto con tutto il necessario per l'esecuzione di una o più applicazioni, cioè simile a una macchina virtuale, ma più leggero in quanto dipende dall'host per l'esecuzione. Affinché il contenitore funzioni, deve disporre delle librerie necessarie per l'esecuzione, nonché di alcune dipendenze, come alcuni strumenti del sistema operativo. Ovviamente, un'altra delle parti necessarie è l'ambiente runtime, cioè un ambiente di esecuzione come interpreti per linguaggi interpretati, JVM, file con codice o binari, ecc.

Ce ne sono alcuni comandi di base di Docker con cui ti "muoverai" all'interno dell'ambiente, sono piuttosto numerosi, come info, insert, kill, stop, start, build, ps, ecc. Per poterli vedere tutti ea cosa servono, tutto ciò che devi fare è correre:

docker

Per maggiori informazioni puoi consultare la documentazione ufficiale.

come si può? creare un container con Docker? Bene, ora faremo un esempio, creeremo un container con Ubuntu e per questo utilizziamo il comando run, che permette sia di creare che di eseguire container (maggiori informazioni eseguire -h):

docker run -i -t ubuntu /bin/echo Prueba contenedor

E questo userà un'immagine locale se ce l'abbiamo già o, se non riesce a trovarla, la scaricherà. Cosa c'è di più creerà il contenitore, allocherà spazio per il nuovo FS e lo monterà. Ovviamente assegnerai un'interfaccia di rete per la comunicazione ospite / host. Una volta fatto, ci mostrerà un'eco con la frase «Test del contenitore»Che abbiamo messo.

Puoi vedi tutte le immagini cosa hai con:

docker images

Y per lacrima uno, puoi utilizzare l'ID contenitore con:

docker start -a <pon-la-ID-del-container>

Per fermarli puoi usare stop invece di start:

docker stop <pon-la-ID-del-container>

E queste sono solo le basi di Docker. Spero che ti abbia aiutato a iniziare e a fare i primi passi di molti, poiché può darti molte possibilità. Come puoi vedere si tratta di un argomento molto ampio e nel quale puoi approfondire partendo da questo tutorial oppure acquistare libri aggiuntivi come quello citato nei primi paragrafi, che consiglio per la sua semplicità nelle spiegazioni pratiche. Non dimenticare di lasciare i tuoi commenti...


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Sayabros suddetto

    Interessante, attendo con ansia i prossimi articoli, grazie