Master Docker nozioni di base con questi importanti concetti spiegati in parole semplici.

Padroneggiare Docker è un'abilità ricercata per gli ingegneri del software backend. Docker ti aiuterà a creare, creare pacchetti e distribuire applicazioni.

Le applicazioni dockerizzate possono essere eseguite in vari ambienti. Ciò riduce i tempi di inattività delle applicazioni offrendo alle aziende un vantaggio competitivo. Ma Docker può intimidire quando inizi a impararlo. Ecco alcuni argomenti vitali per imparare a padroneggiare Docker.

Cos'è Docker?

Docker è un software utilizzato per comprimere le applicazioni in unità eseguibili chiamate contenitori. Docker fornisce supporto per creare, testare e distribuire rapidamente le applicazioni.

Quando usi Docker, interagisci con Docker Engine. Puoi installare Docker Engine su qualsiasi sistema operativo, incluso Finestre 10 e 11, Mac OS, O Sistemi Ubuntu/Linux. Esistono molti strumenti e concetti che devi imparare per utilizzare Docker in modo efficace. Ecco quelli più essenziali per iniziare.

instagram viewer

1. Immagine Docker

Un'immagine Docker è un modello leggero utilizzato per creare contenitori. È un modello di istruzioni che specifica il sistema operativo, il codice dell'applicazione e le dipendenze. Definisci le istruzioni su come creare l'immagine su un Dockerfile.

Nel file indichi tutto ciò di cui ha bisogno la tua richiesta. Docker quindi crea automaticamente l'immagine in base alle istruzioni fornite. Puoi trovare varie immagini nel registro online di Docker, Docker Hub. Docker consiglia di utilizzare le immagini ufficiali per motivi di sicurezza.

Puoi anche creare immagini in base a configurazioni personalizzate. Le immagini sono disponibili in varie dimensioni, sistemi operativi e lingue. Puoi scegliere quello che meglio si adatta alla tua applicazione. Ad esempio, puoi imparare come creare un'immagine Docker di un'API Web .NET.

2. Contenitore Docker

I contenitori sono unità utilizzate per comprimere un'applicazione in un'unità eseguibile. I contenitori includono tutto il necessario per eseguire un'applicazione, incluse librerie, codice, dipendenze e runtime.

I contenitori isolano le applicazioni in unità consentendo loro di funzionare in modo coerente in vari ambienti. I contenitori consentono di gestire le applicazioni negli ambienti di sviluppo e produzione senza riscontrare errori. Ci sono molti casi d'uso per i contenitori che puoi esplorare.

I contenitori Docker hanno dettagli come l'ID del contenitore, l'immagine e il sistema operativo di base. Puoi anche visualizzare il runtime, lo stato e il nome del contenitore. Per elencare tutti i contenitori nel tuo sistema, utilizza il seguente comando:

docker container ls

Vedrai i dettagli di tutti i contenitori in esecuzione:

Puoi anche usare finestra mobile ps per visualizzare tutti i contenitori in esecuzione. E ispezione del contenitore docker [ID contenitore] per visualizzare il contenuto di un contenitore.

4. Dockerfile

Un Dockerfile è un documento che specifica le istruzioni su come creare l'immagine Docker. Il file specifica l'immagine di base, il codice dell'applicazione e i file necessari per creare l'immagine.

Il file include anche le variabili d'ambiente e i comandi per la creazione dell'immagine. Puoi creare un Dockerfile come qualsiasi altro file. È necessario specificare le istruzioni sul file utilizzando una sintassi comprensibile da Docker. Di seguito è riportato un esempio di Dockerfile di esempio:

5. Docker Componi

Docker Compose è uno strumento per definire ed eseguire applicazioni Docker multi-contenitore. Configura tutti i servizi in un file YAML. Un file YAML è un documento in cui specifichi i servizi necessari per la tua applicazione. È quindi possibile creare ed eseguire tutti i servizi utilizzando un unico comando.

Docker Compose può eseguire applicazioni in vari ambienti. Possono essere ambienti di produzione, gestione temporanea, sviluppo o test. Docker Compose semplifica il complesso processo di orchestrazione di più contenitori.

Puoi utilizzare Docker Compose per gestire un'applicazione durante tutto il suo ciclo di vita. Ciò può includere l'avvio, l'arresto e la ricostruzione dei servizi. È inoltre possibile visualizzare lo stato dei servizi in esecuzione, eseguire lo streaming dell'output del registro ed eseguire comandi su un servizio.

Con Docker Compose puoi configurare reti, gestire volumi e specificare dipendenze. Puoi anche ridimensionare le applicazioni orizzontalmente in produzione specificando i servizi di replica.

Compose semplifica la distribuzione di applicazioni complesse in vari ambienti. Puoi anche usarlo per replicare lo stesso ambiente in sistemi diversi. Imparare a utilizzare Docker Compose può aumentare l'efficienza della tua applicazione.

Ecco un esempio di un file YAML Docker Compose:

6. Hub Docker

Hub Docker è un registro di contenitori online per Docker. Essendo il registro contenitori più grande, è uno strumento di collaborazione per sviluppatori e contributori open source. È anche un eccellente mercato per i fornitori di software.

Docker Hub è una risorsa affidabile per trovare software di virtualizzazione affidabile. Puoi creare un repository e condividere oltre 100.000 immagini.

Puoi ospitare le tue applicazioni e codice sulla piattaforma. Puoi anche collaborare a progetti con altri sviluppatori. Docker Hub dispone di un'opzione pubblica gratuita o di repository privati ​​a pagamento per specifici team autorizzati.

7. Rete Docker

La rete Docker è una funzionalità che consente ai contenitori di comunicare tra loro e con risorse esterne. Le reti forniscono comunicazioni controllate e isolate tra contenitori. Possono essere contenitori in esecuzione su host singoli o multipli.

Quando esegui un contenitore sul tuo computer, non è esposto a reti esterne. Utilizzi le porte per esporre i contenitori a indirizzi IP esterni, servizi DNS, tabelle di routing e gateway Internet.

La rete consente ai contenitori di operare in ambienti di rete isolati. Le reti forniscono spazi dei nomi e indirizzi IP, riducendo i conflitti tra contenitori e migliorando la sicurezza.

8. Volumi Docker

In Docker, i volumi sono un meccanismo utilizzato per archiviare dati persistenti. In base alla progettazione, i contenitori sono effimeri. Ciò significa che è facile sostituirli o distruggerli con tutti i loro dati. Ma ci sono casi in cui vorresti conservare i dati. In questi casi, è possibile utilizzare i volumi Docker per gestire i dati persistenti.

I volumi hanno anche altri usi, incluso consentire la condivisione di dati tra contenitori. Sono facili da eseguire il backup e la migrazione rispetto ad altre forme di archiviazione. Inoltre, puoi gestire i volumi utilizzando la CLI Docker o l'API.

Se esegui un contenitore senza volume, Docker ne crea automaticamente uno. Puoi anche creare e gestire volumi isolati da qualsiasi contenitore. Utilizzare il comando seguente per creare un volume.

docker volume create my-vol

Per visualizzare il volume creato, esegui il comando seguente:

docker volume ls //local my-vol

Potrai quindi allegare i volumi a qualsiasi contenitore desideri. Puoi leggere ulteriori informazioni sui volumi su Docker documentazione ufficiale.

Altre funzionalità della finestra mobile

Docker è una delle migliori scelte per la gestione dei contenitori e il controllo della versione. Se impari il set di strumenti di Docker, puoi potenziare e semplificare il flusso di lavoro di sviluppo.

Docker ha molte funzionalità che puoi utilizzare per gestire le tue applicazioni. Dopo aver padroneggiato le funzionalità principali, puoi esplorare altre funzionalità complesse come Docker Swarm utilizzato per orchestrare applicazioni complesse.