‫Va bene, Nuno mi sta chiedendo che ho bisogno del mio comando di file docker per avviare il server Cassandra e successivamente devo
‫importare uno schema di database.
‫Qual è il modo migliore per farlo.
‫Quindi, se qualcuno non ti ha già risposto in chat perché a volte
‫ciò accade mentre sto vagando sullo script del punto di ingresso è una sorta di modo universale di fare le cose all'avvio del contenitore.
‫Questo significa che hai nel tuo file Docker il punto di ingresso e questo BMD.
‫Ora nel mio corso la padronanza di Docker mi concentro sulla CMT perché questa è davvero la cosa
‫che devi capire per essere all'inizio quello che devo aggiungere è una sezione di almeno una lezione sul punto di ingresso
‫e discutere i vari modi in cui puoi fare punti di ingresso.
‫Quindi un punto di ingresso quando lo suddividiamo nel punto di ingresso nel CND sono in realtà due parti della
‫stessa riga singola o comando singolo che Docker esegue all'avvio del container.
‫Ma il trucco è che con la magia dello script bash puoi prendere il punto di ingresso e invece di
‫essere solo l'inizio del comando che potrebbe essere davanti al CMT può eseguire uno script e poi alla
‫fine di quello script puoi dire che passa l'esecuzione al resto della riga di comando.
‫Quindi potrebbe non avere molto senso, ma andiamo a controllare se è uscito un mondo reale e vediamo cosa
‫possiamo vedere, quindi tirerò su il mio sequel perché davvero qualsiasi sistema di archiviazione di dati persistenti agirà
‫allo stesso
‫modo qui e se guardo su Docker Hub,
‫quindi sono su Docker Hub la mia immagine ufficiale di seguito.
‫E se clicco su una di queste versioni verso l'alto, otterrò il file docker che è open source e
‫in questo file troverai molte cose.
‫Ovviamente sta installando il mio sequel e ottenendo il sequel correttamente configurato, ma in fondo noterai un paio di
‫cose una è che sta copiando uno script di shell in una determinata posizione e sta eseguendo il montaggio lì, ma
‫è solo per la compatibilità all'indietro.
‫Ma quaggiù questa è la parte chiave dello script del punto di ingresso
‫che il punto di ingresso stesso il comando nel file più scuro non deve essere uno script.
‫Anche in questo caso è davvero solo se il punto di ingresso è esistente e vedono OMD e li
‫sta solo mettendo insieme e eseguendoli tutti in una riga.
‫Quindi vedresti questo in due modi comuni poiché viene utilizzato il punto di ingresso sia per l'inizio di un comando che
‫forse se stai usando Docker per eseguire un'utilità da riga di comando lo faccio in
‫82 ping vedo se posso avere un github.
‫Ho piuttosto un'immagine Docker e ho un repository hub dietro di esso e quello che sta facendo è eseguire una singola utility da riga
‫di comando in un contenitore.
‫E il modo in cui funziona qui è che il punto di ingresso è il comando stesso.
‫E poi dal momento che il CMB lo segue quando li ho entrambi nel mio file Docker, li
‫scambia e basta.
‫Ho in esecuzione il CRM D predefinito, quindi se ci pensate quando eseguo questo
‫comando dal comando posso eseguire Docker run.
‫Brett Fisher taglia HP pagando.
‫E poi ho appena premuto invio e quindi eseguirà automaticamente il comando versione.
‫Ma se continuo a digitare quella riga di comando a destra.
‫Tucker run.
‫Brett Fisher, se lo faccio, estrarrà l'immagine.
‫Spiacenti, lasciami cambiare schermo, quindi se
‫eseguo questa immagine, la eseguirò per impostazione predefinita e praticamente scaricherà l'aiuto perché è quello che il file
‫docker gli ha detto di fare nella riga D di CRM.
‫Ma se cambio qualcosa alla fine perché ricordo che il formato di un comando
‫di esecuzione docker è che eseguirà Docker e quindi farà le tue opzioni, quindi fai l'immagine che
‫imposterai e poi che sostituisce il CND in linea.
‫Quindi è come una sostituzione dinamica della CMT.
‫Quindi, se avessi appena eseguito qui Google dot com, sostituirà la versione trattino che verrà eseguita per impostazione predefinita.
‫Quindi questo è un modo davvero fantastico che puoi usare Docker run come utility da riga di comando e questo è un bene.
‫Questo è essenzialmente il mio esempio di come farlo.
‫Ora l'altro modo per farlo
‫è che non è quello che è l'unico modo per farlo nell'altro modo è uno script di
‫shell, quindi vedremo qui il punto di ingresso qui sta definendo il file che dovrebbe essere eseguito.
‫E poi se scorro fino in cima qui e faccio questa directory senza otto punti, vado su una directory,
‫in realtà troverò che c'è un altro file lì.
‫Questo è lo script del punto di ingresso della finestra mobile che sta copiando nella build.
‫Ora in questo script cosa sta succedendo.
‫Ci sono tonnellate di roba qui.
‫Probabilmente almeno un centinaio di righe.
‫Sì.
‫In effetti sono centinaia di righe.
‫Ma la parte magica qui è questa.
‫Rimpicciolisci.
‫Va bene.
‫Vai via barra di scorrimento.
‫Non voglio vederti.
‫Andiamo a
‫Ras proprio lì in fondo.
‫Esattamente.
‫E poi il simbolo del dollaro che dice alla shell hey sto terminando questo script per favore passa l'esecuzione al resto della mia
‫riga di comando che sarebbe qualunque cosa sia nella CMT e in questo caso era il
‫mio demone sequel.
‫Quindi, in sostanza, ciò che accadrà all'avvio di un container in questo caso è l'esecuzione dello script.
‫Arriva alla fine della sceneggiatura l'esatto dice Per favore, fai qualsiasi altra cosa ti ho detto alla fine
‫di questo comando e che esegue il tuo demone.
‫Sei il mio demone sequel in primo piano in modo che rimanga in esecuzione.
‫Ora quello che fa lo script sono tutte le cose che probabilmente non hai realizzato accadevano in background
‫quando hai avviato un contenitore di database.
‫Crea l'utente predefinito che si desidera impostare.
‫Cambia la password di root in qualunque cosa tu voglia impostare.
‫Crea il database in base a ciò che gli hai detto e sta facendo tutto ciò e le variabili d'ambiente nel modo
‫giusto.
‫Perché se abbiamo eseguito il backup per duplicare solo questo e se abbiamo eseguito il backup nella libreria che conosci
‫sulla maggior parte di queste immagini ufficiali avrai un sacco di variabili d'ambiente e
‫le specificherà tutte qui.
‫E tutte quelle variabili d'ambiente sono usate in quello script per preconfigurare il mio sequel.
‫Ora nel file stesso, se in realtà ti dovessi immergere, sta impostando alcune variabili di ambiente e trovando i file nel caso in
‫cui tu stia usando cose segrete calde di Drucker in quel modo e quindi in pratica
‫sta ottenendo tutti i dati necessari per configurarlo.
‫Quindi avvia il mio sequel che lo ha configurato includendo la modifica della password di root in tutte le altre cose.
‫Quindi interrompe il mio sequel, quindi termina la sceneggiatura e quindi passa l'esecuzione al mio sequel per
‫ricominciare, ma questa volta per sempre.
‫Quindi essenzialmente sta iniziando il sequel facendo alcune cose fermando i sequel avviando un backup.
‫Ed è così che funzionano tutti questi sistemi di archiviazione persistenti all'interno dei contenitori
‫ufficiali.
‫Quindi per te La lunga risposta a questa domanda è che vorrai usarlo nel tuo script di intrappolamento
‫personalizzato, forse copi quello predefinito se ce n'è uno o forse ne fai uno
‫tuo e poi creeresti la tua immagine che avrebbe quindi creato quello schema inizialmente al primo avvio.
‫Ora, una volta che hai paura di uno schema all'interno del database, sai che non vorrai davvero
‫aggiornare gli schemi in quel modo che vorresti fare ulteriori schemi.
‫Attraverso qualche altra utility al di fuori di quel container, eseguiresti i tuoi comandi my cycle
‫da un altro container e poi eseguiranno sulla rete qualcosa del genere.
‫Ora non è necessario cambiarlo affatto, potresti semplicemente farlo avviare Cassandra e quindi
‫aggiungere lo schema da un remoto da un altro contenitore, ma dovresti controllare quell'ordine giusto.
‫Dovresti aspettare che Cassandra si avvii.
‫Dovresti avere un altro contenitore che forse ha un suo script e poi quello script potrebbe essere
‫abbastanza intelligente da continuare a controllare Cassandra per vedere se è pronto.
‫E poi quando è pronto, esegui lo schema o l'aggiornamento dello schema o l'installazione dello schema originale.
‫Fondamentalmente potresti farlo in quel modo e questo e molti casi è probabilmente il modo giusto per farlo, ma
‫soprattutto quando stai facendo lo sviluppo locale o vuoi solo accelerare qualcosa di piccolo e
‫facile e vuoi solo costruire uno schema della prima volta e volevi farlo automaticamente, allora quello
‫che faresti qui è usare l'immagine predefinita ufficiale e aggiungere il tuo schema e file a quello nella
‫tua immagine personalizzata ed essenzialmente lo farebbe quando ha avviato il la prima volta
‫lo farebbe ora.
‫Ecco il problema e devi fare attenzione a questo script di entry point eseguito ogni volta che il contenitore
‫inizia almeno da quell'immagine direttamente da quell'immagine che hai creato quello personalizzato.
‫Quindi vuoi assicurarti che il tuo script sia abbastanza intelligente da non ripetere più volte lo schema
‫su un database di annunci che ha già lo schema.
‫Quindi devi basarti su quell'intelligenza ed è per questo che a volte a seconda del tuo modello se stai pensando di
‫aggiornare le cose regolarmente o se sposti costantemente i database in un cluster sciame o in un
‫cluster di idee cubane, allora lo fai all'interno del contenitore del database stesso potrebbe non essere la strategia giusta per
‫te, ma questa opzione esiste.
‫Quindi dai un'occhiata.
‫E questo è come le Cliff Notes su cosa fare con i punti di ingresso che non erano nel mio corso
‫originale, quindi potrei probabilmente dire che questo video è lì e che almeno ha materiale supplementare per ora,
‫è meglio che non avere nulla.