‫OK, i requisiti per questa lezione sono che sai come avviare un contenitore dalle lezioni precedenti.
‫E abbiamo appena finito l'ultima lezione parlando di vedere cosa sta succedendo in un contenitore dall'esterno.
‫E questo è tutto per entrare in un contenitore per scherzare con l'interno.
‫Quindi ci sono alcuni comandi che possiamo usare.
‫Il primo è il contenitore eseguito con un trattino I. T. e parleremo di come il trattino I. T. funziona per ottenere effettivamente
‫una shell all'interno del contenitore e quindi per eseguire i contenitori su cui si desidera eseguire un secondo processo.
‫Puoi anche usare il contenitore exec e mostreremo diversi esempi di ciò.
‫E poi lungo il percorso menzioneremo effettivamente alcune differenze tra una normale distribuzione Linux come Ubuntu
‫per l'installazione su una macchina virtuale o sull'hardware e poi quali sono i cacciatorpediniere di
‫questi collegamenti all'interno di un container.
‫Iniziamo.
‫Quindi, guardare fuori in un contenitore dall'esterno è molto utile, a volte, ma una delle prime domande che le
‫persone spesso mi chiedono è come faccio ad entrare nel contenitore e in realtà faccio cose in esso dal vivo
‫dalla riga di comando.
‫E a volte le persone confondono questo con il desiderio di un server SS all'interno del loro contenitore in modo che
‫possano usare SSA, ma non abbiamo realmente bisogno di farlo perché abbiamo a disposizione diversi comandi che ci permettono
‫di ottenere una shell all'interno del contenitore stesso mentre è in esecuzione.
‫E il primo è solo un comando di esecuzione del contenitore finestra mobile.
‫Ma stiamo specificando alcune opzioni extra.
‫Faremo un trattino I. T. ora il trattino I. T. è in realtà due opzioni separate.
‫E se mostro semplicemente l'aiuto in modo veloce, puoi vedere che il T ci dà effettivamente uno pseudo o un prompt simile a quello che avresti
‫con SSA H e poi se scorressi fino a I e questo è davvero ciò che
‫ci permette di mantenerlo sessione aperta in modo che possiamo continuare a eseguire più comandi, quindi se facciamo un contenitore
‫docker esegui il trattino T e poi esegui un altro motore X chiamiamolo proxy e quindi dovremo specificare un comando alternativo se ti ricordi all'inizio di questo
‫sezione in cui abbiamo parlato del formato della riga di comando della finestra mobile
‫durante l'esecuzione di un contenitore finestra mobile come puoi vedere attraverso l'aiuto qui alla fine
‫dopo l'immagine hai comandi e argomenti opzionali che puoi inviare in questo nuovo contenitore che stai
‫per iniziare a dirgli cosa deve correre.
‫L'immagine ha un comando predefinito in esso che vedremo in seguito come configurare, ma se si volesse cambiare ciò che
‫è stato eseguito all'avvio, è possibile farlo direttamente dalla linea di esecuzione.
‫Quindi diciamo bash perché bash è una delle shell comuni che di solito si trovano in un contenitore che
‫ti darò una shell con cui lavorare e guardarla.
‫Sono in un prompt Ora noterete che il mio prompt dice root che è l'utente che il contenitore è stato avviato in quanto in
‫realtà non significa che sono root sull'host.
‫Significa solo che sto agendo come root sul container e quel numero dopo è in realtà il container
‫I. D ..
‫Quindi, se faccio un po 'di birra, ottengo un elenco completo di tutto ciò in cui sono.
‫E puoi vedere che sono nel percorso principale del file system all'interno del contenitore.
‫Quindi sto guardando tutti i file all'interno del contenitore che si basa sul motore dell'immagine successiva.
‫E da qui potrei andare a cambiare i file di configurazione che potrei scaricare pacchetti da Internet e fare praticamente qualsiasi
‫cosa amministrativa comune che faresti da una normale shell.
‫Quindi, per uscire da questo spettacolo quando hai finito con un tipo di uscita come faresti con qualsiasi shell e ora quel
‫container si è fermato se lo avessimo effettivamente fatto nel contenitore mobile a meno che non lo avresti visto lì.
‫Ricorda che l'abbiamo chiamato proxy.
‫Quindi ho dovuto fare un trattino a ed è lì.
‫Ora vedi il comando che esegue il comando predefinito per un motore X contenitore è quello di eseguire il programma motore
‫X stesso.
‫Ma quando abbiamo digitato il nostro ultimo comando abbiamo cambiato il programma predefinito in realtà bash che ci
‫ha dato la nostra shell e quando siamo usciti dalla shell il container si è fermato perché i contenitori sono eseguiti solo finché
‫viene eseguito il comando che ha eseguito all'avvio.
‫E dal momento che cambiamo quello per bash, basta semplicemente uscire da bash.
‫Ora cosa succede se ho usato una distribuzione completa di Linux invece di fare effettivamente il motore x.
‫Facciamo una Ubuntu completa e in realtà scaricherò l'immagine di Ubuntu e mi metterà nel prompt di
‫questo nuovo contenitore.
‫Se hai mai usato Ubuntu conosci il gestore di pacchetti di app e quindi posso usarlo
‫qui come farei in un server ubuntu standard e potrei installare qualcosa per ottenere il dash di installazione
‫sì Perl.
‫Ora la cosa su Ubuntu e altre distribuzioni all'interno di un contenitore è che di solito sono molto minimali.
‫Una vita C. D. o un download dell'iso del tuo
‫vantaggio a cui normalmente metteresti su una macchina virtuale avrà più software installato di default rispetto a un contenitore Ubuntu che è
‫davvero una versione molto minimale di Ubuntu che puoi sempre aggiungere più software a con il gestore di pacchetti di app.
‫Quindi ora questo container funzionante ha arricciato e posso usarlo proprio come farei su
‫una macchina locale e una volta che esco di nuovo dalla shell fermerà il container finestra mobile a meno che non sappia
‫che non lo vedo e c'è un'immagine di Ubuntu che abbiamo appena corso.
‫Ora, se avessi riavviato il contenitore, ci sarebbe stato un ricciolo installato, ma se avessi creato un nuovo contenitore dall'immagine
‫di Ubuntu su quel diverso contenitore non sarebbe stata installata la riga di comando del kernel.
‫E se volessimo rieseguire il contenitore e ricominciare da capo.
‫Bene, potremmo usare il contenitore docker per iniziare il commento ora.
‫Noterai che è leggermente diverso quando iniziamo un container esistente ma è simile all'I T.
‫è solo un A.
‫E poi il nome del nostro contenitore a cui hai dato il nome era di nuovo al suo
‫posto e io posso ricollegare Google e funziona e se esco lo interrompe di nuovo.
‫Ora cosa succede se voglio vedere effettivamente la shell all'interno di un contenitore in esecuzione che sta già eseguendo qualcosa come
‫il mio sequel o motore x.
‫Bene, possiamo farlo anche noi.
‫E questo sta usando il contenitore esatto della finestra mobile del comando.
‫Esattamente.
‫E puoi vedere che abbiamo alcune opzioni qui.
‫E il più comune è dire che voglio saltare nel contenitore My School perché ho bisogno di fare
‫alcune cose amministrative sulla My School stessa.
‫Potrei fare l'io T. ancora e poi il nome del contenitore e poi il programma.
‫Voglio correre.
‫E in questo caso di nuovo è bash e ora sono nel contenitore con il mio sequel.
‫Posso effettivamente fare un PSA a UX direttamente nel container che elenca i processi e questo ovviamente mi mostrerà il demone più
‫uguale che è in esecuzione in background così come il processo bash in cui sono attualmente seduto così come
‫il P . S. comando che ho appena eseguito in questa shell.
‫Potrei passare al sequel stesso con la mia riga di comando sequel e noterete quando esco da
‫questa shell bash a meno che il mio sequel non sia ancora in esecuzione perché il container docker esegue in realtà un
‫processo aggiuntivo su un contenitore in esecuzione esistente.
‫Non influenzerà il processo di root per il demone My School.
‫Quindi proviamo ancora uno.
‫Come puoi vedere qui è molto utile per saltare nei contenitori.
‫Dobbiamo risolvere i problemi o quando è necessario modificare leggermente qualcosa su un sistema
‫in esecuzione e utilizzare contenitori di diverse distribuzioni per darti l'ambiente che avresti se avessi
‫una macchina completa come Ubuntu o Alpine.
‫Ora cos'è alpino.
‫Non abbiamo parlato di Alpine prima che Alpine sia un'altra distribuzione di Linux, ma Alpine è progettato per essere
‫molto piccolo.
‫In realtà ha solo 5 Meg di dimensione.
‫Se faccio una finestra mobile, tiro Alpine che tirerà giù l'ultima immagine alpina e se faccio un'immagine docker a meno che tu
‫non riesca a vedere quanto piccolo è il Limoges alpino rispetto a Ubuntu, quindi la cosa bella di Alpine è
‫che viene anche con la sua pacchetto manager e quindi vedrai Alpine come opzione disancorare o
‫hub molto nella prossima sezione quando andremo su immagini e Docker Hub ma
‫per ora facciamo uno show bash all'interno del container trucker alpino gestito da T.
‫Alpine Bash.
‫Ora, quello che è appena successo qui, perché ho ricevuto un'aria, mi dice che sta iniziando a
‫contenere un processo e fa sì che il file eseguibile bash non venga trovato nel percorso e ciò che in realtà significa è che
‫bash non è nel contenitore.
‫E questo risale al concetto che possiamo solo eseguire le cose nel contenitore che già esiste nella sua
‫immagine.
‫Quando lo hai avviato o forse qualcosa che hai aggiunto in seguito tramite i comandi esatti o esegui.
‫Ma in questo caso come potrei entrare nell'immagine alpina.
‫Well Alpine è così piccolo che in realtà non ha bash ma ha SDH. Quindi possiamo sostituire il comando
‫con S H che non è così completo come bash ma ci porta direttamente nel contenitore.
‫E se dovessi cercare Linux Alpine su Internet, impareresti che il suo gestore di
‫pacchetti è un P. K. e potremmo effettivamente usarlo per installare bash se ne avessimo davvero bisogno.
‫Va bene.
‫Solo per riassumere quello che abbiamo imparato in questa lezione abbiamo appreso del trattino I. T. opzione per l'esecuzione di
‫container che ci fornisce l'equivalente di una shell interattiva per fare effettivamente le cose in un contenitore
‫come faremmo se fossimo SSA in un server di qualche tipo.
‫Quindi abbiamo appreso un nuovo comando per il contenitore docker esattamente con l'I. T. questo fa esattamente la
‫stessa cosa che si esegue ma lo fa su un contenitore esistente che non sta avviando un nuovo contenitore.
‫Infine, abbiamo imparato un po 'su Alpine e su come questo sia diverso dalle principali distribuzioni Linux e come sia
‫in realtà per le dimensioni di mag e ideale per le immagini dei container.