‫OK.
‫Facciamo alcune cose divertenti in questa conferenza.
‫Parleremo rapidamente della differenza tra immagini e contenitori e salteranno subito a
‫giocare con un contenitore.
‫Lo inizieremo.
‫Ci fermeremo a rimuoverlo e faremo alcune funzioni amministrative comuni, quindi esamineremo i log del contenitore e
‫i processi in esecuzione nel nostro contenitore, quindi
‫prima di saltare in fretta.
‫È bello sapere la differenza tra un'immagine e un contenitore un'immagine è i binari e le librerie e il
‫codice sorgente che costituiscono tutti la tua applicazione e il contenitore è un'istanza in esecuzione di quell'immagine.
‫Ora puoi avere molti contenitori basati sulla stessa immagine.
‫In questa conferenza useremo il server web Open Source Engine X e quindi avvieremo
‫i nostri contenitori basati su quell'immagine del motore X e otterremo tutte le nostre immagini dai registri dei registri. i
‫registri delle immagini del codice sorgente sono per le immagini del contenitore e quello predefinito per Docker è
‫Docker Hub che è possibile controllare al punto hub Docker AECOM.
‫Gioca di più con quello più tardi, ma per ora.
‫Siate consapevoli del fatto che queste due cose sono piuttosto diverse e nella prossima sezione entreremo
‫nelle immagini.
‫Ma per ora concentriamoci sui contenitori OK.
‫Ora avvieremo un nuovo contenitore e useremo alcuni comandi Docker per gestire il container
‫docker contenitore
‫che esegue il motore di pubblicazione 80 80 x.
‫Non preoccuparti se non sai cosa significa tutto ciò in
‫un attimo, premo Invio, passa al mio browser e digito l'host locale.
‫Eccoci.
‫Il nostro server X del motore è in ascolto e posso toccare i tempi di aggiornamento e vedrete le voci del registro che si verificano
‫nella nostra riga di comando qui.
‫Ora cosa abbiamo fatto in background.
‫Il motore di Docker in realtà cercava un'immagine chiamata motore X e scaricava l'ultima immagine del motore X da Docker
‫Hub e poi la avviava come un nuovo processo in un nuovo contenitore per consentirci di utilizzare la parte pubblicata del comando espone
‫il mio locale porta 80 sul mio computer locale e invia tutto il traffico da esso
‫all'eseguibile in esecuzione all'interno di quel contenitore sulla porta 80 e poiché il motore X è un server Web,
‫esso passa automaticamente alla porta 80 e il traffico passa semplicemente automaticamente attraverso il mio browser al
‫mio host locale e dentro quel contenitore.
‫Ma non vogliamo sempre che questa cosa funzioni in primo piano all'interno della nostra linea di comando.
‫Quindi colpiamo il controllo e vedremo la freccia su Ho intenzione di eseguire il backup un po 'e digitare il distacco
‫ora scollegamento dice a Docker di eseguirlo
‫in background e recuperiamo il contenitore univoco I. D. del nostro contenitore e ogni volta che esegui un
‫nuovo contenitore ottieni una nuova I. D. Quindi, se torniamo al nostro browser e
‫clicchi su Aggiorna un paio di volte, puoi vedere che è ancora in esecuzione.
‫Quindi eseguiamo un comando per elencare i contenitori dei contenitori di container e vedrai quello
‫ancora in esecuzione qui.
‫Corrisponde al contenitore I. D. del comando che abbiamo appena eseguito e vedrai il contenitore che è
‫ancora in esecuzione che abbiamo appena iniziato.
‫Quindi smettiamo di bloccare il container reale della finestra del container e il container I. D. e per
‫il contenitore I. D. Devo solo digitare le prime cifre sufficienti per essere unico e si è fermato a.
‫Ora, se faccio un container LSD, noterai che non compare nulla.
‫Quindi il comando LSD mostra solo i container in esecuzione di default.
‫Se eseguo un trattino LSD a ritorno a ora, a cosa mi arrivo così quando eseguiamo ogni volta il comando di esecuzione del contenitore
‫finestra mobile.
‫Ha iniziato un nuovo contenitore da quell'immagine del motore X e noterai subito qui che ci sono questi nomi casuali come
‫se non li avessimo usati.
‫Come li abbiamo presi?
‫Quindi le idee sul contenitore hanno sempre creato per noi.
‫E anche il nome deve essere unico e se non lo specificiamo verrà creato per noi in modo che possiamo sempre nominare
‫qualcosa da soli.
‫Ma se lo lasciamo scegliere è in realtà un po 'interessante della storia di Docker.
‫Hanno avuto questo per anni ora che quel nome sarà generato casualmente da una lista open source
‫di aggettivi e cognomi di noti hacker o scienziati ed è piuttosto divertente a
‫volte avrete alcuni nomi davvero strani.
‫Creiamo quindi un nuovo container docker un'ora che pubblichi un'ora di distacco, ma
‫stavolta
‫andremo a specificare un nome e lo chiamiamo motore host Web X e ora se eseguo il mio
‫dashboard contenitore LSD dash vedrai tre contenitori.
‫Quello che abbiamo appena iniziato e ha un nome di host web.
‫E poi i due che abbiamo iniziato in precedenza e poi fermati ora dal momento che non stiamo eseguendo
‫questo in primo piano, non possiamo vedere i registri.
‫Quindi torniamo al nostro browser e tornerò a rinfrescare un
‫paio di volte per generare alcuni registri e poi tornare al nostro terminale e farò il log host del contenitore docker e sputerò gli ultimi registri nel web
‫house
‫Ora ci sono un paio di opzioni con cui vorreste giocare con il comando logs per farlo
‫seguire automaticamente i log o semplicemente catturare gli ultimi eventi di log in modo da non finire con
‫l'intero dump del file di
‫log al tuo schermo e possiamo anche usare altri comandi del contenitore docker per controllare quel container in esecuzione in modo
‫da poter provare il container docker in alto e puoi vedere l'aiuto lì che ci fa sapere che dobbiamo
‫specificare il nome del contenitore host web e puoi vedere questo è il processo in esecuzione all'interno del contenitore ora per il motore X non è necessario necessariamente conoscere
‫tutto questo, ma è solo interessante notare che con il motore X è
‫in realtà un processo master e quindi genera processi di lavoro in base alla configurazione.
‫E di nuovo possiamo sempre digitare il contenitore docker e la dash dash dash per ottenere un elenco di tutti i comandi che
‫potremmo provare su quel container.
‫Ora puliamo ciò che abbiamo appena fatto.
‫Quindi eseguiamo un dashboard LSI a container e verrà elencato attraverso i miei contenitori.
‫Ora in realtà sto per rimuovere tutti e tre allo stesso tempo, a volte i comandi secondari di Docker possono
‫effettivamente assumere più valori.
‫Quindi in questo caso posso fare un contenitore docker sono M e quindi posso effettivamente specificare 6 3 F 6 9
‫0 e 0 d e whoops 0 D.
‫Quindi ho ricevuto un errore.
‫Quello che è appena successo qui.
‫Va bene, i primi due sono stati cancellati in modo sicuro.
‫Il terzo mi dice che non posso rimuovere un container in esecuzione perché è una misura di sicurezza.
‫Si assicura che non rimuova per errore il processo attuale ancora in esecuzione.
‫Quindi se fai un contenitore LSD più scuro vedrai che ne abbiamo ancora
‫uno in esecuzione ora potrei fare un container docker per fermarlo prima e poi rimuoverlo ma
‫in realtà sto per fare un contenitore docker rm dash f per forza e 6 3 F e poi andiamo.
‫Ora se faccio un ultimo trattino con il contenitore docker vedrai che non c'è niente.
‫Quindi ora abbiamo ripulito il nostro casino.
‫OK.
‫Quindi, in pochi minuti, siamo stati in grado di utilizzare un singolo comando per scaricare ed eseguire un server Web X
‫motore con una configurazione predefinita in ascolto sulla porta 80 e quindi siamo stati in grado di creare molti di quelli che giocano
‫con i registri e quindi rimuovere il contenitori per ripulire ciò che avevamo fatto.