‫W porządku Nuno pyta, że potrzebuję polecenia pliku dokera, aby uruchomić serwer Cassandra, a następnie muszę zaimportować
‫schemat bazy danych.
‫Jak najlepiej to zrobić.
‫Więc jeśli ktoś jeszcze nie odpowiedział na czacie, ponieważ czasami
‫tak się dzieje, gdy gram w skrypcie punktu wejścia, to rodzaj uniwersalnego sposobu robienia rzeczy podczas uruchamiania kontenera.
‫Oznacza to, że masz w swoim pliku Docker punkt wejścia i BMD.
‫Teraz w moim kursie Umiejętność dokowania koncentruję się na CMT, ponieważ tak naprawdę musisz zrozumieć,
‫aby być na początku, co muszę dodać, to sekcja z przynajmniej jednym wykładem na temat punktu wejścia
‫i omawiająca różne sposoby, w jakie możesz robić punkty wejścia.
‫Tak więc punkt wejścia, gdy go rozkładamy, to punkt wejścia w CND, to tak naprawdę dwie części tej
‫samej pojedynczej linii lub pojedynczego polecenia, które Docker uruchamia podczas uruchamiania kontenera.
‫Ale sztuczka polega na tym, że dzięki magii skryptów bash możesz wziąć punkt wejścia, a zamiast tego być
‫tylko początkiem polecenia, które może być włączone przed CMT, może uruchomić skrypt, a następnie na
‫końcu tego skryptu możesz mu powiedzieć, aby przekazał wykonanie do reszty wiersza poleceń.
‫Może to nie ma większego sensu, ale sprawdźmy, czy prawdziwy świat wyszedł i zobaczmy, co możemy
‫zobaczyć, więc wyciągnę moją kontynuację, ponieważ tak naprawdę każdy system trwałego przechowywania danych będzie działał w
‫ten sam
‫sposób a jeśli spojrzę na Docker
‫Hub, to jestem w Docker Hub moim oficjalnym obrazie.
‫A jeśli kliknę dowolne z tych wydań na górę, otrzymam plik dokera, który jest open source, aw
‫tym pliku znajdziesz wiele rzeczy.
‫Oczywiście instaluje moją kontynuację i odpowiednio ją konfiguruje, ale na dole zauważysz
‫kilka rzeczy: kopiowanie skryptu powłoki do określonej lokalizacji i tam się gromadzi, ale to
‫naprawdę dla kompatybilności wstecznej.
‫Ale tutaj jest to kluczowa część skryptu punktu wejścia,
‫którego sam punkt wejścia polecenie w ciemniejszym pliku nie musi być skryptem.
‫Znowu to tak naprawdę biorąc, jeśli istnieje punkt wejścia, a oni widzą OMD i po prostu
‫łączą je i uruchamiają je wszystkie w jednym wierszu.
‫Widzisz to na dwa powszechne sposoby, ponieważ punkt wejścia jest używany albo na początku polecenia, że może
‫jeśli używasz Dockera do uruchomienia narzędzia wiersza poleceń, robię to w ping
‫82, aby sprawdzić, czy mogę mieć github.
‫Mam raczej obraz Dockera, a za nim dostaję repozytorium hub, a on uruchamia narzędzie jednego wiersza
‫poleceń w kontenerze.
‫A sposób, w jaki tutaj działa, jest taki, że punktem wejściowym jest samo polecenie.
‫A potem, ponieważ CMB idzie po tym, gdy mam oba z nich w moim pliku Docker, po
‫prostu je łączy.
‫Mam uruchomioną domyślną CRM D, więc jeśli pomyślisz o tym, kiedy uruchomię to
‫polecenie z polecenia, mogę uruchomić Docker.
‫Brett Fisher tnie płacenie HP.
‫A potem po prostu nacisnąłem Enter, a wtedy automatycznie uruchomi się polecenie wersji.
‫Ale jeśli będę nadal pisać w tym wierszu poleceń.
‫Bieg Tuckera.
‫Brett Fisher, jeśli to zrobię, pociągnie to za sobą.
‫Ups, przepraszam, pozwól mi zmienić
‫ekrany na ciebie, więc jeśli uruchomię ten obraz, uruchomię go domyślnie i po prostu zrzuci pomoc,
‫ponieważ tak właśnie powiedział plik dokera w wierszu CRM D.
‫Ale jeśli po prostu zmienię coś na końcu, ponieważ pamiętaj, że format polecenia uruchomienia dokera
‫jest taki, że wykona on uruchomienie Dockera, a następnie zrobi opcje, a następnie zrób obraz, który ustawisz, który
‫chcesz uruchomić, a następnie wszystko później który zastępuje CND w linii.
‫To jest jak dynamiczna wymiana CMT.
‫Więc jeśli uruchomię tutaj Google kropkę com, zastąpi ona wersję myślnika, którą będzie domyślnie działać.
‫Jest to naprawdę fajny sposób, w jaki możesz użyć Dockera jako narzędzia wiersza poleceń i to dobrze.
‫To jest mój przykład, jak to zrobić.
‫Teraz innym sposobem jest
‫to, że nie jest to jedyny sposób, aby zrobić to w inny sposób, to skrypt
‫powłoki, więc zobaczymy tutaj, że punktem wejścia jest określenie pliku, który powinien zostać uruchomiony.
‫A potem, jeśli po prostu przewrócę tutaj do góry i zrobię ten katalog z ośmioma punktami, nie
‫przejdę do katalogu, to znajdę tam inny plik.
‫To jest skrypt punktu wejścia dokera, który kopiuje w kompilacji.
‫Teraz w tym skrypcie, co się dzieje.
‫Tu jest mnóstwo rzeczy.
‫Prawdopodobnie co najmniej sto linii.
‫Tak.
‫W rzeczywistości są to setki linii.
‫Ale magiczna część tutaj jest taka.
‫Oddal
‫W porządku.
‫Odejdź od paska przewijania.
‫Nie chcę cię widzieć.
‫Przejdźmy
‫do tego Ras.
‫Dokładnie.
‫A potem znak dolara, który mówi powłoce, hej, kończę ten skrypt, proszę przekazać wykonanie do reszty mojej linii poleceń,
‫która byłaby czymkolwiek, co jest w CMT, aw tym przypadku był to mój
‫demon kontynuacji.
‫Zasadniczo więc, co się stanie, gdy w tym przypadku uruchomi się kontener, uruchomi skrypt.
‫Dochodzi do końca skryptu, dokładnie mówi: Zrób wszystko, co ci powiedziałem na końcu tego
‫polecenia, a to uruchomi twojego demona.
‫Jesteś moim kolejnym demonem na pierwszym planie, aby działał.
‫Teraz skrypt wykonuje wszystkie rzeczy, o których prawdopodobnie nie zdawałeś sobie sprawy, że działały w
‫tle podczas uruchamiania kontenera bazy danych.
‫Tworzy domyślnego użytkownika, którego chcesz ustawić.
‫Zmienia hasło roota na cokolwiek, co chcesz ustawić.
‫Tworzy bazę danych na podstawie tego, co powiedziałeś, i robi to dobrze oraz wszystkie zmienne środowiskowe.
‫Ponieważ jeśli utworzyliśmy kopię zapasową, aby ją po prostu zduplikować i jeśli utworzyliśmy kopię zapasową w bibliotece, którą znasz
‫na większości tych oficjalnych zdjęć, będziesz mieć całą masę zmiennych środowiskowych, a to
‫wszystko je tutaj określa.
‫Wszystkie te zmienne środowiskowe są używane w tym skrypcie do wstępnej konfiguracji mojej kontynuacji.
‫Teraz w samym pliku, jeśli rzeczywiście chcesz się w niego zanurzyć, ustawia on niektóre zmienne środowiskowe i znajduje pliki
‫na wypadek, gdybyś używał takich ciepłych tajnych rzeczy Druckera, a następnie pobiera w zasadzie
‫wszystkie dane potrzebne do jego skonfigurowania.
‫Następnie uruchamia się moja kolejna konfiguracja, w tym zmiana hasła roota we wszystkich innych rzeczach.
‫Następnie wyłącza moją kontynuację, a następnie kończy skrypt, a następnie przekazuje wykonanie do mojej kontynuacji, aby rozpocząć od
‫nowa, ale tym razem na dobre.
‫Zasadniczo więc zaczyna się kontynuacja od robienia pewnych rzeczy, powstrzymując kontynuację od rozpoczęcia tworzenia kopii zapasowej.
‫I w ten sposób działają wszystkie te trwałe systemy przechowywania w oficjalnych kontenerach.
‫Więc dla ciebie Długa odpowiedź na to pytanie jest taka, że
‫będziesz chciał użyć go w swoim własnym skrypcie
‫do chwytania to stworzy ten schemat początkowo przy pierwszym uruchomieniu.
‫Teraz, gdy obawiasz się schematu w bazie danych, wiesz, że tak naprawdę nie będziesz chciał aktualizować
‫schematów w ten sposób, że będziesz chciał robić kolejne schematy.
‫Za pomocą jakiegoś innego narzędzia poza tym kontenerem uruchomilibyście moje polecenia cyklu z
‫innego kontenera, a następnie działałyby w sieci coś takiego.
‫Teraz nie musisz wcale tego zmieniać, możesz po prostu uruchomić Cassandrę, a
‫następnie dodać schemat z pilota z innego kontenera, ale musisz właściwie kontrolować tę kolejność.
‫Musisz poczekać, aż Cassandra się uruchomi.
‫Będziesz musiał mieć inny kontener, który może mieć własny skrypt, a następnie ten skrypt może być
‫wystarczająco inteligentny, aby sprawdzać, czy Cassandra sprawdza, czy jest gotowa.
‫A kiedy będzie gotowy, uruchom swój schemat albo aktualizację schematu, albo oryginalną instalację schematu.
‫Zasadniczo możesz to zrobić w ten sposób, a wiele przypadków jest prawdopodobnie właściwym sposobem, ale szczególnie, gdy
‫robisz rozwój lokalny lub chcesz tylko przyspieszyć coś małego i łatwego, a po prostu
‫chcesz zbudować schemat po raz pierwszy i chciałbyś to zrobić automatycznie, to co byś zrobił
‫tutaj, użyłbyś oficjalnego domyślnego obrazu i dodałbyś własny schemat i plik do tego w swoim własnym obrazie
‫niestandardowym, a właściwie tak by było, gdy uruchomił się po raz pierwszy zrobiłby
‫to teraz.
‫Oto problem i musisz uważać, aby ten skrypt punktu wejścia był uruchamiany za każdym razem, gdy kontener uruchamia
‫się przynajmniej od tego obrazu bezpośrednio od obrazu, który zbudowałeś niestandardowy.
‫Chcesz więc upewnić się, że skrypt jest wystarczająco inteligentny, aby nie uruchamiał schematu raz po
‫raz w bazie danych reklam, ponieważ ma już schemat.
‫Musisz więc opierać się na tej inteligencji i dlatego czasami w zależności od modelu, jeśli myślisz o
‫regularnych aktualizacjach lub jeśli ciągle przenosisz bazy danych w klastrze roju lub klastrze pomysłów
‫kubańskich, to robisz to w samym kontenerze bazy danych może nie być dla Ciebie odpowiednią strategią,
‫ale ta opcja istnieje.
‫Sprawdź to.
‫I to jest tak, jak w notatkach Cliff na temat tego, co zrobić z punktami wejścia, których nie było w moim
‫pierwotnym kursie, więc prawdopodobnie mógłbym powiedzieć, że ten film tam jest i przynajmniej ma uzupełniający materiał na
‫teraz, co jest lepsze niż nic.