Riepilogo
In questo post abbiamo trattato un'introduzione ai contenitori docker e spiegato il concetto di containerizzazione attraverso l'illustrazione dei concetti e un esempio pratico. abbiamo anche trattato la configurazione, la creazione e l'esecuzione dei contenitori docker e spiegato il concetto di eseguire più contenitori docker insieme tramite docker-compose.
Questo post copre le risposte per Introduzione a Docker E Introduzione alla containerizzazione stanza in TryHackMe.
Cos'è la containerizzazione
In termini informatici, la containerizzazione è il processo di confezionamento di un'applicazione e delle risorse necessarie (come librerie e pacchetti) in un unico pacchetto denominato contenitore. Il processo di confezionamento delle applicazioni rende le applicazioni notevolmente portabili e facili da eseguire.
Le applicazioni moderne sono spesso complesse e in genere dipendono dall'installazione di framework e librerie su un dispositivo prima che l'applicazione possa essere eseguita. Queste dipendenze possono:
- Essere difficili da installare a seconda dell'ambiente in cui è in esecuzione l'applicazione (alcuni sistemi operativi potrebbero non supportarli nemmeno!)
- Crea difficoltà per gli sviluppatori nel diagnosticare e replicare gli errori, poiché potrebbe trattarsi di un problema con l'ambiente dell'applicazione, non con l'applicazione stessa!
- Spesso possono entrare in conflitto tra loro. Ad esempio, avere più versioni di Python per eseguire applicazioni diverse è un grattacapo per l'utente e un'applicazione potrebbe funzionare con una versione di Python e non con un'altra.
Ottieni le note sul certificato OSCP
Cosa sono i contenitori Docker?
Docker è una piattaforma di containerizzazione relativamente semplice, estesa e open source. L'ecosistema Docker consente alle applicazioni (immagini: ne parleremo in una stanza successiva) di essere distribuite, gestite e condivise con facilità.
Lavorando su Linux, Windows e MacOS, Docker è una scelta intelligente per l'esecuzione delle applicazioni. Le applicazioni possono essere pubblicate come "immagini" e condivise con altri. Tutto ciò che serve è estrarre (scaricare) l'immagine ed eseguirla con Docker.
Docker utilizza la stessa tecnologia utilizzata nella containerizzazione per isolare le applicazioni in contenitori chiamati Docker Engine. Il Docker Engine è essenzialmente un'API che viene eseguita sul sistema operativo host, che comunica tra il sistema operativo e i contenitori per accedere all'hardware del sistema (come CPU, RAM, rete e disco)
Per questo motivo, il motore Docker è ampio e ti consente di fare cose come:
- Connetti i contenitori tra loro (ad esempio, un contenitore che esegue un'applicazione Web e un altro contenitore che esegue un database)
- Esportare e importare applicazioni (immagini)
- Trasferisci file tra il sistema operativo e il contenitore
Docker utilizza la sintassi di programmazione YAML per consentire agli sviluppatori di istruire come creare un contenitore e cosa eseguire. Questo è uno dei motivi principali per cui Docker è così portabile e facile da eseguire il debug; condividi le istruzioni e verrà creato ed eseguito allo stesso modo su qualsiasi dispositivo che supporti il motore Docker.
Sfide Risposte
Qual è l'abbreviazione del linguaggio di sintassi di programmazione utilizzato da Docker?
Dove è stato presentato per la prima volta Docker?
Quale versione di Unix aveva i primi concetti di containerizzazione?
tiro
un'immagine docker, come sarebbe il nostro comando?Se volessimo elencare tutte le immagini su un dispositivo che esegue Docker, come sarebbe il nostro comando?
Diciamo che volevamo estrarre l'immagine “tryhackme” (senza virgolette); come sarebbe il nostro comando?
Diciamo che vogliamo estrarre l'immagine “tryhackme” con il tag “1337” (senza virgolette). Come sarebbe il nostro comando?
Come sarebbe il nostro comando se volessimo eseguire un contenitore in modo interattivo?
Nota: supponiamo di non specificare alcuna immagine qui.
Come sarebbe il nostro comando se volessimo eseguire un contenitore in "distaccato" modalità?
Nota: supponiamo di non specificare alcuna immagine qui.
Diciamo che vogliamo eseguire un contenitore che verrà eseguito E associare un server web sulla porta 80. Come sarebbe il nostro comando?
Nota: Supponiamo di non specificare alcuna immagine qui.
Come elencheremmo tutto? corsa contenitori?
Ora, come elencheremmo Tutto contenitori (anche fermi)?
Quale comando docker utilizzeremmo per creare un'immagine utilizzando un Dockerfile?
Diciamo che vogliamo dare un nome a questa immagine; quale argomento useremmo?
docker-compose
A avviare una serie di contenitori. Quale argomento mi permette di farlo?Voglio usare docker-compose
A eliminare la serie di contenitori. Quale argomento mi permette di farlo?
Qual è il nome del file .yml che docker-compose
usi?
Nota: per questa domanda, dovrai includere il file .yml estensione del file nella risposta
Utilizzare Docker per avviare un server Web con l'immagine "webserver" (senza virgolette). Avrai bisogno di eseguire il contenitore con la porta 80.
Dopo aver avviato il contenitore, prova a connetterti a https://LAB_WEB_URL.p.thmlabs.com/ nel tuo browser. Cos'è la bandiera?