Come installare e utilizzare Docker su Ubuntu

Come installare e utilizzare Docker su Ubuntu

Negli ultimi anni, Docker ha guadagnato popolarità come applicazione di containerizzazione. I contenitori offrono i vantaggi delle macchine virtuali senza le spese generali associate.

Una macchina virtuale consente agli utenti di avviare un sistema operativo autonomo sopra un'altra macchina. Significa che gli utenti possono eseguire un altro macchina Linux o Windows sopra il loro sistema operativo corrente. Tuttavia, è un processo ad alta intensità di risorse.

Ogni macchina virtuale avvia il proprio kernel del sistema operativo, binari, librerie e applicazioni in cima alla macchina host. I contenitori risolvono questo problema attraverso la condivisione del kernel della macchina host. Si separa solo a livello di applicazione. Binari e librerie sono separati solo quando necessario. Di conseguenza, i contenitori hanno tempi di esecuzione più veloci e impronte più piccole. Docker è attualmente la tecnologia di container più popolare.

Installazione su Ubuntu

Prerequisito

Docker ha una versione della comunità gratuita chiamata Docker CE e una versione Enterprise a pagamento chiamata Docker EE. In questo articolo, ci concentreremo sulla versione della comunità.
Docker CE richiede una versione a 64 bit di Ubuntu in uno dei seguenti sapori:

  • Zesty 17.04
  • Xeniale 16.04 (LTS)
  • Fidato 14.04 (LTS)

Puoi eseguire molti comandi come utente non root. Tuttavia, avrai bisogno dell'accesso root (sudo) per alcuni comandi.

Installazione di Docker

Esistono diversi modi per installare Docker. In questo tutorial, imposteremo il repository Docker e installeremo Docker CE dal repository. Inoltre, supponiamo che tu abbia una macchina pulita senza versioni precedenti di Docker. Se hai una versione precedente di Docker, ti preghiamo di disinstallare la versione prima di iniziare.

Impostazione del repository

1. Aggiorna il tuo pacchetto APT per assicurarti che il tuo sistema operativo sia aggiornato:

$ sudo apt-get update

2. Installa i seguenti pacchetti:

$ sudo apt-get Installa \
Apt-Transport-Https \
CA-certificati \
arricciarsi \
Software-Properties-Common

3. Aggiungi la chiave GPG ufficiale

$ CURL -FSSL https: // download.Docker.com/linux/ubuntu/gpg | sudo Apt-Key Aggiungi -

Verificare che l'impronta digitale chiave sia 9dc8 5822 9fc7 dd38 854a e2d8 8d81 803c 0EBF CD88. È possibile utilizzare il seguente comando:

$ sudo apt-key impronta 0ebfcd88
Pub 4096R/0EBFCD88 2017-02-22
Chiave impronta digitale = 9dc8 5822 9fc7 dd38 854a e2d8 8d81 803c 0EBF CD88
UID Docker Release (CE DEB)
Sub 4096R/F273FCD8 2017-02-22

4. Imposta un repository stabile utilizzando quanto segue:

$ sudo add-apt-repository \
"Deb [arch = AMD64] https: // download.Docker.com/linux/ubuntu \
$ (lsb_release -cs) \
stabile"

L '"arco" definisce l'architettura. Per x86_64 usa “arch = amd64”, per armhf usa “arch = armhf” e per s390x usa “arch = x390x”.

Docker CE Configurazione

1. Aggiorna i tuoi pacchetti APT:

$ sudo apt-get update

2. Installa l'ultimo Docker CE:

$ sudo apt-get install -y docker-ce

3. Il comando sopra dovrebbe installare Docker e avviare il demone. Controlla se il demone è in esecuzione utilizzando il seguente comando:
$ sudo systemctl status docker
Il risultato dovrebbe apparire di seguito. Lo stato "attivo (in esecuzione)" significa che tutto va bene.

● Docker.Servizio - motore container dell'applicazione Docker
Caricato: caricato (/lib/systemd/system/docker.servizio; abilitato; preimpostazione del fornitore: abilitato)
Attivo: attivo (in esecuzione) da Sun 2017-08-30 06:53:52 PDT; 2 ore fa
Documenti: https: // docs.Docker.com
PID principale: 827 (Docker)

Usando Docker

Per usare Docker, devi capire 3 concetti:

    • Docker Hub: Docker Hub è il repository basato su cloud in cui memorizzi tutte le immagini Docker pubbliche. È possibile creare un login su Docker Hub qui: https: // hub.Docker.com/
    • Immagini Docker: le immagini Docker sono le stampe blu di diversi contenitori. È un'istantanea del contenitore.
    • Container Docker: eseguire un'immagine Docker si ottiene un contenitore. Il contenitore è la macchina da lavoro che utilizzerai per le tue attività.

Iniziamo a usare Docker.

Comandi Docker

Puoi visualizzare tutti i comandi Docker con quanto segue:

$ Docker

Puoi trovare tutti i comandi Docker qui.
Se vuoi scoprire un comando specifico, puoi usare:
$ Docker Target -comand -help
dove "bersaglio-comando" è il comando che desideri indagare.

Download di immagini Docker

Le immagini Docker vengono scaricate da Docker Hub. Non è necessario accedere per scaricare e utilizzare le immagini, ma è necessario un accesso per il caricamento delle immagini.

Scarica la tua prima immagine Docker usando il seguente comando:

$ Docker Run Hello-World

L'output dovrebbe apparire così:

Impossibile trovare l'immagine "Hello-World: ultimo" a livello locale
Ultimo: estrazione dalla biblioteca/hello-world
B04784FBA78D: Pull Complete
Digest: SHA256: F3B3B28A45160805BB16542C95318888519430E9E6D6FFC09D72261B0D26FF74F
Stato: scaricata immagine più recente per Hello-World: più recente
Ciao da Docker!
Questo messaggio mostra che la tua installazione sembra funzionare correttamente.
..

Nelle righe sopra, Docker ha cercato per la prima volta l'immagine "Hello-World" nel tuo repository locale. Quando non era "incapace di trovare l'immagine", la tirava dall'hub Docker. Quindi gestiva il contenitore Hello-World.

Il seguente comando ti mostrerà immagini disponibili su Docker Hub:

$ Docker Search Nginx

Stavamo cercando immagini correlate a "nginx". L'output parziale sembra questo:

Nome Descrizione stelle automatizzata ufficiale
NGINX Build ufficiale di Nginx. 6737 [OK]
proxy Nginx reverse automatico Jwilder/Nginx-Proxy per Docker C… 1099 [OK]
Container Richarvey/nginx-php-fpm in esecuzione nginx + php-fpm capace ... 429 [OK]
..

In alternativa, puoi andare su https: // hub.Docker.com/ e cerca immagini. "Ufficiale" indica le versioni che sono state controllate dal team Docker.

Puoi anche utilizzare il comando "pull" per scaricare le immagini:

$ Docker pull nginx

Puoi visualizzare tutte le immagini sul repository locale con il seguente comando

$ Docker Immagini

L'output dovrebbe apparire così:

Dimensione creata immagine del tag repository
Ubuntu Ultimo CCC7A11d65B1 3 settimane fa 120 MB
NINGX Ultimo B8EFB18F159B 5 settimane fa 107 MB
Hello-World Ultimo 1815C82652C0 2 mesi fa 1.84kb

Con le immagini del tuo repository locale, puoi avviare un contenitore. Ad esempio, puoi avviare il tuo contenitore Nginx dal repository sopra.

Container in esecuzione

Supponiamo, vogliamo creare un contenitore Ubuntu dall'immagine Ubuntu disponibile. È possibile utilizzare il seguente comando:

$ Docker Run -It Ubuntu

L'opzione -it indica al comando esegue per eseguire una shell interattiva. Vedrai un prompt dei comandi come questo:

root@6370a8b73050:/#

Ciò significa che hai effettuato l'accesso come utente di root al contenitore con ID 6370A8B73050. Puoi installare tutto ciò che desideri in questo contenitore. Supponiamo di voler installare Python.

Puoi usare i comandi:

root@6370a8b73050:/# Apt-get Aggiornamento

E

root@6370a8b73050:/# apt -get install -y python3.5

Una volta che le installazioni hanno successo, hai un contenitore Ubuntu pronto per Python.
È sempre possibile controllare lo stato del contenitore dalla riga di comando del tuo host ($ significa prompt host e root@6370a8b73050 Prompt container):

$ Docker PS
Comando ID contenitore Comando immagine Nomi delle porte di stato creato
6370A8B73050 Ubuntu "/Bin/Bash" 13 minuti fa 12 minuti Cranky_Bassi
$ Docker PS -a
Comando ID contenitore Comando immagine Nomi delle porte di stato creato
6370A8B73050 Ubuntu "/Bin/Bash" 13 minuti fa 13 minuti Cranky_Bassi
6A16D462DD28 Ubuntu "/bin/bash" 16 minuti fa usciti (0) 15 minuti fa giovanile_paseur
889d3a9328f2 nginx "nginx -g 'demone ..." 18 minuti fa usciti (0) 17 minuti fa hardcore_ritchie

Nell'output sopra, il comando PS mostra solo il contenitore in esecuzione mentre il comando PS con l'opzione "-a" mostra tutti i contenitori.

Salvare i contenitori come immagini

Supponiamo di voler salvare il tuo contenitore Python come immagine per riutilizzarlo in seguito.
Prima esci dal contenitore:

root@6370a8b73050:/# uscita

È possibile salvare il contenitore nel repository locale utilizzando il comando seguente:
$ Docker commit -m "Descrizione delle modifiche" -A "Nome autore" Repository Containerid/ImageName
Il repository è generalmente il tuo nome utente da Docker Hub. Quindi puoi salvare il tuo contenitore Python in questo modo:

$ Docker commit -m "python3.5 Container "-A" Zak H "6370A8B73050 Zakh/Python3.5-pronto

Se controlli le tue immagini, avrai un'immagine Python nel tuo repository:

$ Docker Immagini
Dimensione creata immagine del tag repository
Zakh/Python3.Ultimo pronto per il 6DDF31466A89 2 minuti fa 196 MB
Ubuntu Ultimo CCC7A11d65B1 3 settimane fa 120 MB
NINGX Ultimo B8EFB18F159B 5 settimane fa 107 MB
Hello-World Ultimo 1815C82652C0 2 mesi fa 1.84kb

È possibile spingere questa immagine all'hub Docker usando i seguenti comandi:
Docker Login -u Nome utente
Docker Push Nome utente/ImageName
Nel caso sopra, sarà:

Docker Login -u zakh
Docker Push Zakh/Python3.5-pronto

Una volta spinto il contenitore nell'hub Docker, altri possono scaricare l'immagine sui loro computer e utilizzare il Python3.5 ambiente che hai configurato.

Pulire

Il comando seguente rimuoverà i contenitori:
Docker RM Containerid

Il comando seguente rimuoverà le immagini dal repository locale:
Docker RMI ImageID

Parole finali

La guida di cui sopra ti dà un processo passo-passo per utilizzare Docker per semplificare il tuo sviluppo. Puoi creare le tue configurazioni personali, salvarle come immagini e condividerle con altri utenti o riutilizzare le immagini da solo. Accelera l'intero processo di sviluppo.

Argomenti avanzati
  • È possibile utilizzare Dockerfile per creare immagini da file yaml scritti.
  • Docker Swarm può aiutarti a orchestrare e gestire un gran numero di nodi Docker.
Riferimenti:
  • https: // docs.Docker.com/motore/installazione/linux/docker -ce/ubuntu/
  • https: // www.digitaleceo.Com/Community/Tutorials/How-to-Install-and-Use-Docker-on-Obuntu-16-04
  • https: // Docker-Curriculum.com/
  • https: // www.digitaleceo.com/Community/Tutorials/The-Docker-Ecosystem-Antroduction-to-Common-Components
  • https: // www.AirPair.com/docker/post/8-pro-real-world-way-to-use-docker
  • http: // www.zdnet.com/articolo/what-is-docker-and-why-is-it-so-darn-popolare/
  • https: // docs.Docker.com/enterprise/
  • https: // docs.Docker.com/motore/sciame
  • https: // docs.Docker.com/motore/riferimento/costruttore/
  • https: // docs.Docker.com/motore/riferimento/comando/docker/