‫Oké, Nuno vraagt dat ik mijn docker-bestandscommando nodig heb om de Cassandra-server te starten en daarna moet ik
‫een databaseschema importeren.
‫Wat is de beste manier om dat te doen.
‫Dus als iemand je nog niet in de chat heeft geantwoord, want soms gebeurt
‫dat terwijl ik aan het ronddwalen ben over het script van het toegangspunt, een soort universele manier om dingen te doen bij het opstarten van containers.
‫Dit betekent dus dat je in je Docker-bestand het toegangspunt hebt en je hebt deze BMD.
‫Nu concentreer ik me in mijn cursus Docker-beheersing op de CMT, want dat is echt wat je moet
‫begrijpen om aan het begin te zijn. Wat ik moet toevoegen is een sectie ten minste één lezing over het beginpunt
‫en het bespreken van de verschillende manieren waarop je kunt instapmomenten doen.
‫Dus een ingangspunt wanneer we het opsplitsen, het ingangspunt in de CND zijn in feite twee delen van dezelfde
‫enkele regel of enkele opdracht die Docker uitvoert wanneer uw container start.
‫Maar de truc is dat je met de magie van bash-scripting het startpunt kunt nemen en in plaats van dat het alleen het begin
‫is van het commando dat voor de CMT staat, kan het een script uitvoeren en dan aan het einde van
‫dat script je kunt het vertellen om de uitvoering door te geven aan de rest van de opdrachtregel.
‫Dus het is misschien niet zo logisch, maar laten we gaan kijken of er een echte wereld uitging en
‫kijken wat we kunnen zien, dus ik ga mijn vervolg ophalen, want echt elk permanent gegevensopslagsysteem zal hier op
‫dezelfde manier
‫werken en als ik op Docker Hub kijk,
‫ben ik dus bij de Docker Hub mijn vervolg officiële afbeelding.
‫En als ik op een van deze releases naar boven klik, krijg ik het docker-bestand dat open source is en
‫in dit bestand vind je veel dingen.
‫Het is duidelijk dat het mijn vervolg installeert en het vervolg correct geconfigureerd krijgt, maar onderaan zul je
‫een aantal dingen opmerken, een is dat het een shellscript naar een bepaalde locatie kopieert en het daar wordt geassembleerd, maar
‫dat is echt voor achterwaartse compatibiliteit.
‫Maar hier beneden is dit het belangrijkste onderdeel het entry point script
‫waarvan het entry point zelf het commando in het donkere bestand geen script hoeft te zijn.
‫Nogmaals, het is eigenlijk gewoon het nemen van als het bestaat, het ingangspunt en ze zien OMD en het zet ze
‫gewoon bij elkaar en laat ze allemaal op één regel lopen.
‫Dus je zou zien dat dit de twee gebruikelijke manier is, omdat het toegangspunt wordt gebruikt voor het begin van een opdracht. Misschien
‫als je Docker gebruikt om een opdrachtregelprogramma uit te voeren, doe ik dit in 82 ping, kijk
‫of ik het kan, dus ik heb een github.
‫Ik heb eerder een Docker-image en ik krijg een hub-repo erachter en wat het doet, is dat het een enkel
‫opdrachtregelhulpprogramma in een container uitvoert.
‫En de manier waarop het hier werkt, is dat ik het toegangspunt de opdracht zelf heb.
‫En aangezien de CMB daarnaartoe gaat als ik ze allebei in mijn Docker-bestand heb, worden ze gewoon
‫door elkaar geschakeld.
‫Ik heb het met de standaard CRM D, dus als je erover nadenkt wanneer ik deze opdracht
‫uitvoer vanuit de opdracht, kan ik Docker uitvoeren.
‫Brett Fisher slash HP betalen.
‫En dan druk ik gewoon op enter en dan zal het automatisch de versieopdracht uitvoeren.
‫Maar als ik die opdrachtregel rechts blijf typen.
‫Tucker rennen.
‫Brett Fisher als ik dat gewoon doe, trekt het beeld.
‫Oeps sorry, laat me uh van
‫scherm wisselen, dus als ik deze afbeelding uitvoer, wordt deze standaard uitgevoerd en wordt de hulp in feite gedumpt, want
‫dat is wat het docker-bestand het vertelde in de CRM D-regel.
‫Maar als ik gewoon iets aan het einde verander, want onthoud dat het formaat van een docker-run-commando is
‫dat het Docker run zal uitvoeren en dan je opties zal doen, doe dan de afbeelding die je gaat instellen die je
‫gaat uitvoeren en dan alles daarna die de CND in lijn vervangt.
‫Het is dus als een dynamische vervanging van de CMT.
‫Dus als ik hier gewoon Google dot com gebruik, zal het de dash dash-versie vervangen die het standaard zou uitvoeren.
‫Dit is dus echt een coole manier waarop je Docker run als opdrachtregelprogramma kunt gebruiken en dat is een goede zaak.
‫Dat is in wezen mijn voorbeeld van hoe dat te doen.
‫De andere manier om het
‫te doen is niet dat dat de enige manier is om het te doen, de andere manier is
‫een shellscript, dus we zullen hier zien dat het startpunt hier het bestand definieert dat het moet uitvoeren.
‫En als ik dan helemaal naar boven scrol en ik doe dit achtpunts geen map, ik ga een map omhoog, dan
‫zal ik zien dat daar nog een ander bestand is.
‫Dat is het docker-invoerpuntscript dat het tijdens de build kopieert.
‫Nu in dit script wat er aan de hand is.
‫Er zitten hier heel veel spullen in.
‫Waarschijnlijk minstens honderd regels.
‫Ja.
‫In feite zijn het honderden regels.
‫Maar het magische deel hier is dit.
‫Uitzoomen.
‫Oke.
‫Ga weg schuifbalk.
‫Ik wil je niet zien.
‫Laten we gewoon
‫naar Ras gaan, die bottom line daar.
‫Precies.
‫En dan vertelt het dollarteken aan de shell dat ik dit script beëindig. Geef de uitvoering door aan de rest van mijn
‫opdrachtregel, wat zou zijn wat er in de CMT staat en in dit geval was
‫het mijn vervolgdemon.
‫Dus in wezen wat er gaat gebeuren wanneer een container in dit geval opstart, is dat het het script zal uitvoeren.
‫Het komt aan het einde van het script, de exacte zegt Doe wat ik je nog meer heb verteld aan
‫het einde van dit commando en dat drijft je demon.
‫Jij bent mijn vervolgdemon op de voorgrond zodat hij blijft draaien.
‫Wat het script nu doet, zijn alle dingen waarvan u zich waarschijnlijk niet realiseerde dat ze op de
‫achtergrond plaatsvonden toen u een databasecontainer startte.
‫Het maakt de standaardgebruiker aan die u wilt instellen.
‫Het verandert het root-wachtwoord in wat u maar wilt.
‫Het creëert de database op basis van wat je het hebt verteld en het doet dat allemaal en omgevingsvariabelen
‫goed.
‫Want als we een back-up maken om dit gewoon te dupliceren en als we een back-up maken naar de bibliotheek, weet je dat
‫je op de meeste van deze officiële afbeeldingen een hele reeks omgevingsvariabelen zult hebben en
‫het specificeert ze allemaal hier.
‫En al die omgevingsvariabelen worden in dat script gebruikt om mijn vervolg vooraf te configureren.
‫In het bestand zelf, als je er echt in zou duiken, stelt het een aantal omgevingsvariabelen in en het vinden van bestanden voor het
‫geval je Drucker's warme geheime dingen zoals dat gebruikt, en dan krijgt het in feite alle gegevens
‫die het nodig heeft om het te configureren.
‫Dan start het op, mijn vervolg heeft het geconfigureerd, inclusief het wijzigen van het root-wachtwoord in alle andere dingen.
‫Dan sluit het mijn vervolg af en beëindigt dan het script en geeft die uitvoering vervolgens door aan mijn vervolg om opnieuw
‫op te starten, maar deze keer voorgoed.
‫Dus het is in wezen het starten van een vervolg om wat dingen te doen, het stoppen van vervolgen met het starten van een back-up.
‫En zo werken al deze permanente opslagsystemen in de officiële containers.
‫Dus voor jou. Het lange antwoord op deze vraag is dat je het in je eigen aangepaste entrapment-script wilt gebruiken,
‫misschien kopieer je de standaard als die er is of misschien maak je je eigen en
‫dan zou je je eigen afbeelding maken dat zou dan dat schema aanvankelijk creëren bij de eerste keer opstarten.
‫Als je nu eenmaal bang bent voor een schema in de database, weet je dat je schema's niet echt
‫wilt bijwerken, op die manier zou je nog meer schema's willen maken.
‫Via een ander hulpprogramma buiten dat containerrecht zou je je my cycle-commando's vanuit een andere
‫container uitvoeren en dan zouden ze zoiets over het netwerk lopen.
‫Nu hoef je dit helemaal niet te veranderen, je kunt het gewoon je Cassandra laten opstarten en
‫dan het schema toevoegen vanaf een afstandsbediening vanuit een andere container, maar je zou die volgorde goed moeten controleren.
‫Je zou moeten wachten tot Cassandra opstart.
‫Je zou een andere container moeten hebben die misschien een eigen script heeft en dan is dat script misschien slim
‫genoeg om te blijven controleren op Cassandra om te zien of het klaar is.
‫En wanneer het klaar is, voert u uw schema uit ofwel schema-update of uw oorspronkelijke schema-installatie.
‫In wezen zou je het op die manier kunnen doen en dat en in veel gevallen is dit waarschijnlijk de juiste manier
‫om het te doen, maar vooral als je lokale ontwikkeling doet of als je gewoon iets kleins en
‫gemakkelijks wilt versnellen en je gewoon een schema wilt bouwen van de eerste keer en je wilde het automatisch
‫doen, dan zou je hier de officiële standaardafbeelding gebruiken en je eigen schema en bestand daaraan toevoegen in je eigen aangepaste
‫afbeelding en in wezen zou het zijn wanneer het opstartte de eerste keer dat het dat
‫nu zou doen.
‫Dit is het probleem en je moet hier op letten. Dit startpuntscript wordt elke keer uitgevoerd als de container op zijn minst
‫vanaf die afbeelding start, rechtstreeks vanuit die afbeelding die je de aangepaste had gebouwd.
‫U wilt er dus zeker van zijn dat uw script slim genoeg is om het schema niet steeds opnieuw
‫uit te voeren in een advertentiedatabase waar het schema al aanwezig is.
‫Dus je moet op die intelligentie voortbouwen en daarom soms, afhankelijk van je model, als je erover denkt
‫om dingen regelmatig bij te werken of als je constant databases verplaatst in een zwermcluster of
‫Cubaanse ideeëncluster, dan doe je het in de databasecontainer zelf is misschien niet de juiste strategie voor u,
‫maar deze optie bestaat.
‫Dus bekijk het eens.
‫En dat is net als de Cliff-aantekeningen over wat te doen met toegangspunten die niet in mijn oorspronkelijke cursus stonden, dus
‫ik zou waarschijnlijk kunnen zeggen dat deze video erin zit en op zijn minst aanvullend materiaal heeft,
‫dat is beter dan niets hebben.