Docker è un progetto open source che fornisce una piattaforma aperta a sviluppatori e amministratori di sistema per creare, impacchettare ed eseguire applicazioni ovunque come un contenitore leggero. Docker automatizza la distribuzione delle applicazioni all'interno di contenitori software. Lo sviluppo di Docker è stato avviato da Solomon Hykes come progetto interno presso dotCloud, un'azienda PaaS (platform as a service), ma il software è ora gestito dalla comunità di Docker e da Docker Inc. Maggiori informazioni su Docker possono essere trovate nella documentazione qui https://docs.docker.com/.
Docker richiede un'architettura a 64 bit per l'installazione e il kernel Linux deve essere 3.10 o successivo. Userò Ubuntu 18.04 LTS (Bionic Beaver) qui con la versione del kernel 4.15.0.
Cose da sapere su Docker
Ecco i termini di base del mondo Docker che dovresti conoscere.
Immagini Docker
Un'immagine Docker è il modello di base per un contenitore Docker. Un'immagine di solito contiene il sistema operativo e le applicazioni che possono essere installate facilmente. L'immagine Docker viene utilizzata per eseguire il container, puoi trovare molte immagini con una varietà di sistemi operativi e software che sono stati installati nell'hub Docker https://hub.docker.com/.
Contenitore Docker
Docker Container è un'immagine che può essere letta e scritta che viene eseguita sopra l'immagine Docker. Docker utilizza il file system union come back-end per il container; tutte le modifiche apportate al contenitore verranno salvate in un nuovo livello sopra l'immagine di base. Il contenitore è il livello in cui installiamo le applicazioni. Ciascun container viene eseguito isolato nella macchina host e, pertanto, fornisce una piattaforma applicativa sicura.
Registro Docker
Il registro Docker è un repository per le immagini Docker. Fornisce archivi pubblici e privati. Il registro Docker pubblico è chiamato Docker Hub. Qui possiamo spingere e tirare le nostre immagini.
Installazione di Docker su Ubuntu 18.04
In questa sezione, verrai guidato all'installazione della finestra mobile. Prima di installare il software, controllare la versione del kernel e l'architettura del sistema operativo. I comandi successivi devono essere eseguiti come utente root. Esegui questo comando per diventare root sul tuo sistema Ubuntu.
sudo su
Quindi esegui uname -a per controllare la versione del kernel Linux attualmente in esecuzione.
uname -a
Puoi vedere che sto usando la versione del kernel 4.15.0 con un kernel a 64 bit (x86_64).
Per verificare la versione di Ubuntu, esegui:
cat /etc/lsb-release
Il comando mostra che la versione di Ubuntu è 18.04.
Si consiglia di aggiornare Ubuntu prima di installare un nuovo software. Esegui il comando seguente per recuperare gli ultimi aggiornamenti dal repository di Ubuntu e installarli.
sudo apt-get update
sudo apt-get upgrade
Ora siamo pronti per installare Docker sul server.
Per installare Docker, possiamo usare i pacchetti da 'Ubuntu Repository' o usando i pacchetti da 'Docker Repository'.
Installa Docker dal repository di Ubuntu
Se desideri installare la versione docker dal repository di Ubuntu, puoi eseguire il comando apt di seguito.
sudo apt install docker.io
Attendi fino al completamento dell'installazione, quindi puoi avviare Docker e aggiungerlo al tempo di avvio con il comando systemctl:
systemctl start docker
systemctl enable docker
Potresti anche voler controllare la versione della finestra mobile:
docker --version
E otterrai la finestra mobile 17.12 installata dal repository di Ubuntu.
Installa Docker dal repository Docker
Prima di installare il docker-ce dal repository Docker, installa alcune dipendenze usando il comando apt come mostrato di seguito.
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
Al termine dell'installazione, aggiungi la chiave mobile e il repository "notturno" della finestra mobile.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly" > /etc/apt/sources.list.d/docker-nightly.list
e aggiorna il repository.
sudo apt update
Ora il repository Docker è stato aggiunto al sistema.
Controlla tutti i pacchetti docker forniti dal repository docker usando il comando apt-cache.
sudo apt search docker-ce
sudo apt-cache policy docker-ce
E vedrai diverse versioni della finestra mobile come di seguito.
Installalo usando il comando apt qui sotto.
sudo apt install docker-ce
Al termine dell'installazione, avvia il servizio Docker e abilitalo all'avvio ogni volta all'avvio del sistema.
systemctl start docker
systemctl enable docker
Ora controlla la versione della finestra mobile installata sul sistema.
docker --version
E otterrai la finestra mobile 18.x installata sul sistema. Ora puoi iniziare a creare un contenitore scaricando un'immagine Docker dal registro Docker.
Esecuzione di Docker come utente non root
Per eseguire docker come utente normale/non root, è necessario aggiungere un nuovo utente di sistema. Aggiungeremo un nuovo utente chiamato 'hakase', quindi lo aggiungeremo al gruppo 'docker'.
Aggiungi utente 'hakase'.
useradd -m -s /bin/bash hakase
passwd hakase
Aggiungi l'uso 'hakase' al gruppo 'docker'.
usermod -aG docker hakase
Ora accedi come utente 'hakase' ed esegui il comando docker.
su - hakase
docker run hello-world
E otterrai il mondo ciao da Docker.
Utilizzo di base di Docker
In questa sezione, ti mostrerò le opzioni comunemente utilizzate del comando Docker. Per esempio. come scaricare un'immagine della finestra mobile, creare un contenitore e come accedere al contenitore.
Per creare un nuovo contenitore, dovresti iniziare scegliendo un'immagine di base con il sistema operativo, ad es. ubuntu o centos o altro. Puoi cercare un'immagine di base con il comando di ricerca della finestra mobile:
docker search ubuntu
Questo comando ti mostrerà tutte le immagini di Ubuntu. Puoi provare da solo la ricerca mobile in centos ecc.
Ora è il momento di scaricare l'immagine di base sul nostro server, utilizzare il comando:
docker pull ubuntu
Il comando docker pull image-name scaricherà un'immagine sul tuo server dal registro Docker/DockerHub.
Ora puoi vedere tutte le immagini scaricate usando il comando:
docker images
L'immagine di Ubuntu è stata scaricata da DockerHub/Docker Registry. Il passaggio successivo consiste nel creare un contenitore da quell'immagine.
Per creare il contenitore, puoi utilizzare la creazione della finestra mobile o l'esecuzione della finestra mobile.
docker create ubuntu:18.04
Il comando docker create creerà un nuovo contenitore ma non lo avvierà. Quindi ora puoi usare il comando esegui:
docker run -i -t ubuntu:18.04 /bin/bash
Questo comando creerà ed eseguirà un contenitore basato sull'immagine di Ubuntu 18.04 ed eseguirà un comando /bin/bash all'interno del contenitore, sarai automaticamente all'interno del contenitore dopo aver eseguito il comando.
Il contenitore si fermerà quando lo lascerai con il comando exit. Se ti piace avere un contenitore in esecuzione in background, devi solo aggiungere l'opzione -d nel comando.
docker run -i -t -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
Nota:
/bin/sh -c "mentre è vero; fai eco ciao mondo; dormi 1; fatto" questo è lo script bash per fare eco per sempre a "ciao parola".
Ora puoi vedere il contenitore in esecuzione in background usando il seguente comando:
docker ps
o se vuoi vedere i log risultanti da quel comando bash puoi usare il comando:
docker logs NAMES/ContainerID
Come posso accedere alla shell del contenitore che viene eseguita in modalità background?
Questo comando ti collegherà alla shell del contenitore:
docker exec -i -t NAMES/ContainerID /bin/bash
Inserisci un contenitore Docker in esecuzione.
Puoi vedere che il nome host e l'ID del contenitore sono uguali, questo significa che sei all'interno della shell del contenitore. Quando digiti `exit` su quella shell lascerai quella shell ma il contenitore è ancora in esecuzione.
Un altro comando che utilizzerai spesso è:
docker stop NAME/ContainerID
Questo arresterà il contenitore senza eliminarlo, quindi puoi riavviarlo con il comando:
docker start NAME/ContainerID
Se vuoi rimuovere il contenitore, fermalo prima e poi rimuovilo con il comando:
docker rm NAME/ContainerID
Questa è solo una breve introduzione sull'installazione e l'utilizzo di base di Docker su Ubuntu, puoi trovare la pagina dettagliata della documentazione Docker qui.
Un'introduzione approfondita a Docker è disponibile in questa serie di tutorial Howtoforge:https://www.howtoforge.com/tutorial/how-to-use-docker-introduction/
Conclusione
Docker è una piattaforma di virtualizzazione dei container open source che aiuta gli sviluppatori a distribuire le proprie applicazioni e gli amministratori di sistema a gestire le applicazioni in un ambiente container virtuale sicuro. Docker funziona sull'architettura Intel / AMD a 64 bit e il kernel dovrebbe essere una versione successiva 3.10. Con Docker puoi creare ed eseguire la tua applicazione all'interno di un container e quindi spostare i tuoi container su altre macchine che eseguono Docker senza preoccupazioni.