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

Un'introduzione a Docker

Cos'è Docker?

Docker è uno strumento che consente di creare, distribuire e gestire pacchetti autonomi e leggeri che contengono tutto il necessario per eseguire un'applicazione (codice, librerie, runtime, impostazioni di sistema e dipendenze). Questi pacchetti sono chiamati contenitori.

Ogni container viene distribuito con la propria CPU, memoria, I/O a blocchi e risorse di rete, il tutto senza dover dipendere da un singolo kernel e sistema operativo. Sebbene possa essere più semplice confrontare Docker e macchine virtuali, differiscono nel modo in cui condividono o dedicano risorse.

I contenitori aiutano a espandere le funzionalità del tuo Linode in diversi modi. Ad esempio, puoi distribuire più istanze di nginx con più staging (come sviluppo e produzione). A differenza della distribuzione di più macchine virtuali, i container distribuiti non danneggeranno le risorse di Linode.

Immagini Docker

Ogni contenitore Docker viene creato da un'immagine. Puoi estrarre le immagini da un registro Docker (come l'hub ufficialeDocker) e utilizzarle per creare contenitori. Una singola immagine può creare numerosi contenitori. Ad esempio, puoi utilizzare l'ultima immagine nginx per distribuire un contenitore di server web per:

  • Opzioni di sviluppo web
  • Test
  • Produzione
  • Applicazioni Web

File Docker

Un Dockerfile è un file di testo che contiene i comandi necessari per assemblare un'immagine. Una volta che un Dockerfile è stato scritto, l'amministratore utilizza la docker build comando per creare un'immagine basata sui comandi all'interno del file. I comandi e le informazioni all'interno del Dockerfile può essere configurato per utilizzare versioni software e dipendenze specifiche per garantire distribuzioni coerenti e stabili.

Un Dockerfile utilizza i seguenti comandi per creare le immagini:

  • AGGIUNGI - copia i file da un'origine sull'host al filesystem del contenitore nella destinazione impostata.
  • CMD - eseguire un comando specifico all'interno del contenitore.
  • PUNTO DI ENTRATA - imposta un'applicazione predefinita da utilizzare ogni volta che viene creato un contenitore con l'immagine.
  • AMBIENTE - imposta le variabili d'ambiente.
  • ESPOSIZIONE - esporre una porta specifica per abilitare il networking tra il container e il mondo esterno.
  • DA - definire l'immagine di base utilizzata per avviare il processo di compilazione.
  • MANUTENTORE - definire il nome completo e l'indirizzo email del creatore dell'immagine.
  • Corri - direttiva di esecuzione centrale per Dockerfiles.
  • UTENTE - imposta l'UID (il nome utente) che eseguirà il contenitore.
  • VOLUME - abilitare l'accesso dal contenitore a una directory sulla macchina host.
  • WORKDIR - impostare il percorso dove eseguire il comando, definito con CMD.

Non tutti i comandi devono essere utilizzati. Di seguito è riportato un esempio di Dockerfile funzionante, che utilizza solo il MAINTAINER , FROM e RUN comandi:

File:Dockerfile
1
2
3
MAINTAINER NAME EMAIL
FROM ubuntu:latest
RUN apt-get -y update && apt-get -y upgrade && apt-get install -y build-essential

Sciame Docker

Docker semplifica l'unione di server per formare un cluster, chiamato Docker Swarm. Dopo aver creato un manager Swarm, o leader e nodi collegati al leader, puoi aumentare la distribuzione del container. Il leader adatterà automaticamente il cluster aggiungendo o rimuovendo attività per mantenere lo stato desiderato.

Un nodo è una singola istanza del motore Docker che partecipa allo Swarm. Puoi eseguire uno o più nodi su un singolo Linode. Il gestore Swarm utilizza il bilanciamento del carico in ingresso per esporre i servizi che possono essere resi disponibili allo Swarm. Docker Swarm può anche:

  • Controlla lo stato di salute dei tuoi contenitori.
  • Avvia un set fisso di contenitori da una singola immagine Docker.
  • Fai aumentare o diminuire il numero di container (a seconda del carico corrente).
  • Esegui aggiornamenti in sequenza tra i container.
  • Fornire ridondanza e failover.
  • Aggiungi o sottrai iterazioni del contenitore al variare delle richieste.

Passaggi successivi

Per esplorare ulteriormente Docker, visita la nostra Guida di riferimento rapido Docker, la nostra guida sulla distribuzione di un server Web Node.js o la guida Linode Come installare Docker e distribuire una guida LAMP Stack.

Maggiori informazioni

Si consiglia di consultare le seguenti risorse per ulteriori informazioni su questo argomento. Sebbene questi siano forniti nella speranza che possano essere utili, tieni presente che non possiamo garantire l'accuratezza o la tempestività dei materiali ospitati esternamente.

  • Documenti Docker
  • Esercitazione Prova Docker
  • Hub Docker

Docker
  1. Come assegnare un IP statico a un contenitore Docker

  2. Come elencare i contenitori Docker

  3. Introduzione ai contenitori Docker

  4. Introduzione alle immagini Docker

  5. Introduzione a Docker

Come eseguire PHPMyAdmin in un contenitore Docker

Come eseguire Grafana in un contenitore Docker

Come configurare un container Docker Apache

Come eseguire i contenitori Docker

Cosa fare se un container Docker esce immediatamente

Utilizzo di Docker Desktop per gestire un container