‫Teraz zaczniemy faktyczny rejestr. Rozmawialiśmy o tym od jakiegoś
‫czasu, więc zróbmy coś z tym.
‫Rejestr jest tak naprawdę tylko serwerem HTTPS, o którym mówiliśmy.
‫Domyślnie działa na porcie 5000.
‫Zamierzamy go uruchomić, a następnie ponownie oznaczyć istniejący obraz, który
‫otrzymaliśmy z Docker Hub. W ten sposób faktycznie zmienisz miejsce, w którym rejestr,
‫którego rejestr będzie używany, raczej zamierzasz ponownie oznaczyć istniejące obrazy. Następnie usuniemy ten obraz z
‫naszej lokalnej pamięci podręcznej, a my wyślemy to
‫z rejestru, gdy go tam pchniemy. Wtedy rzeczywiście zatrzymamy i ponownie utworzymy rejestr, aby
‫pokazać, jak zmienić pamięć.
‫W naszym przypadku użyjemy tylko pamięci
‫lokalnej, ale jest wiele opcji pamięci masowej, o których będziemy rozmawiać. Chcę zrobić szybką notatkę
‫na temat rejestru i jego preferencji TLS. Po wyjęciu z pudełka Docker nie będzie komunikował się
‫z żadnym rejestrem, chyba że będzie działał poprawnie z zabezpieczeniami HTTPS.
‫Dobrze?
‫Chce się upewnić, że twoje uwierzytelnienie jest zaszyfrowane i że wszystko, co zostało przekazane,
‫jest zaufane.
‫Dlatego nazywamy to Bezpiecznym domyślnie.
‫Dobrze? Prawdopodobnie już to słyszałeś. W rzeczywistości nie będzie rozmawiać z rejestrem,
‫który będziemy tworzyć, chyba że będziemy go tworzyć na lokalnych hostach, którymi jesteśmy.
‫Tak właśnie to zrobimy, działa tylko na naszym lokalnym hoście.
‫To łatwe.
‫W rzeczywistości nie musimy martwić się o TLS tylko po to, aby przetestować tę sytuację po wyjęciu z
‫pudełka, ponieważ, podobnie jak większość stron internetowych, rejestr nie jest wyposażony w protokół TLS.
‫Zazwyczaj musisz utworzyć własny certyfikat.
‫Ale jeśli zamierzasz robić samopodpisane certyfikaty do swojego rejestru, a może będziesz je uruchamiać
‫zdalnie bez TLS, czego
‫nie zachęcam do działania, ale na wszelki wypadek, w rzeczywistości jest to niepewne
‫opcja rejestru, którą musisz włączyć w silniku.
‫Nie będziemy tego tutaj omawiać.
‫Ale żeby wiedzieć, że w produkcji, jeśli kiedykolwiek będziesz potrzebować samopodpisanego certyfikatu,
‫wystarczy, że to włączysz. Dostaniesz dobry błąd z Docker, to powie: "Nie mogę rozmawiać z tym rejestrem,
‫ponieważ nie ufam temu. "coś w
‫rodzaju, jeśli spróbujesz to zrobić.
‫Dziś będziemy go uruchamiać zwykłym HTTP na porcie 5000.
‫Wróć do mojego komputera lokalnego i wykonaj kontener kontenera dokowanego -d -p 5000, domyślnie jest to 5000
‫w kontenerze,
‫a ja po prostu nazwie to rejestrem. Następnie używamy rejestru obrazów.
‫Jeśli zrobię kontener dokera, zobaczysz, że działa. Aby z niego skorzystać, faktycznie
‫używamy tagów.
‫Jeśli pamiętasz z naszymi obrazami w Docker Hub, musieliśmy umieścić je w formacie nazwy konta i nazwy repozytorium,
‫ale to jest dla Docker Hub. W przypadku każdego innego
‫rejestru musimy go również oznaczyć jako etykietą hosta.
‫Właściwie zamierzam zrobić coś, co nazywa się "cześć świat", ponieważ jest ładne i małe. Kiedy go uruchomimy, po prostu wypluwa jakiś
‫tekst, który w zasadzie potwierdza, że ten kontener działał,
‫idealny na ten miły mały przykład. Co muszę zrobić, aby przesłać go do mojego lokalnego rejestru, muszę podać mu inny
‫znacznik, który powie mojemu demonowi, gdzie musi go wysłać.
‫Używamy tagu dokowanego, a następnie obrazu, który chcę oznaczyć, a następnie miejsca, w którym chcę go oznaczyć.
‫127. 0. 0. 1: 5000,
‫muszę umieścić tam port, a
‫potem witam świat.
‫Byłby to odpowiednik tworzenia własnego oficjalnego obrazu w katalogu głównym mojego rejestru lokalnego.
‫Jeśli zrobię obraz dokowania, zobaczysz, że hello-world ma tutaj dwa znaczniki i jest to ten sam identyfikator obrazu, ponieważ wszystko, co zrobiłem,
‫nadało mu inny znacznik.
‫Ale jeśli zrobię naciśnięcie dockera, to nie będzie on faktycznie przekazywał do Docker Hub, będzie widział, że jest tam adres
‫IP i port i wypycha go do mojego lokalnego rejestru.
‫Teraz usuńmy nasze lokalne kopie, aby usunąć obraz doka i obraz dokowania.
‫DOBRZE.
‫O. Dobrze.
‫Nie można usunąć obrazu, ponieważ najpierw musimy pozbyć się tego kontenera.
‫Tak więc kontener kontenera dokowanego, i to jest kontener, który uruchomił hello-world,
‫teraz mogę usunąć obraz.
‫No to jedziemy.
‫OK, więc teraz jeśli zrobię obraz doka, jestem pewien, że go nie mam, prawda? Nie mam tego obrazu.
‫Teraz mogę wykonać przeciąganie dokera z tej samej lokalizacji.
‫No to jedziemy.
‫Rozwijam ten obraz.
‫Pierwszą rzeczą, jeśli chcesz uruchomić swój własny rejestr z własnych powodów, pierwszą
‫rzeczą, którą chcesz zrobić, to użyć woluminu do przechowywania danych.
‫W takim przypadku możemy usunąć rejestr i użyć woluminu do zrobienia tego samego.
‫Gdybym znajdował się w tym katalogu, w którym znajdowałbym się w rejestrze-sample-1, mógłbym zrobić rejestr zabijania kontenerów w
‫doku dokerów, rejestr kontenera
‫kontenera dokera.
‫W porządku.
‫Więc wyczyściliśmy nasz kontener rejestru. Zróbmy ponownie kontener dokera uruchom d port
‫5000, wywołaj go ponownie. Tym razem damy mu wolumen, a my użyjemy sztuczki
‫pwd, aby podać nasz aktualny katalog
‫roboczy, a potem zamierzam umieścić w tym katalogu podkatalog danych rejestru. To musi przejść do rejestru var lib.
‫Ostatnią częścią jest to, że używamy obrazu rejestru.
‫Jest to z technicznego punktu widzenia nowy rejestr z nową bazą danych.
‫Gdybyś zrobił dane z rejestru, nic by tam jeszcze nie było, ale jeśli zrobię zdjęcie, które
‫zrobiliśmy niedawno i ściągnęliśmy je z powrotem, zobaczysz, że
‫nadal mamy tam cześć.
‫Jeśli ponownie wykonam operację dokowania, to powinien ją popchnąć z powrotem do góry.
‫Teraz jeśli zrobię katalog danych ll i rejestru, zobaczysz tam trochę informacji. Właśnie zrobiłem polecenie drzewa, które może nie być w twoim systemie operacyjnym,
‫ale tak
‫naprawdę nie musisz uciekać, jeśli nie chcesz. Jest to typowe narzędzie linuksowe, które
‫pokazuje mi wszystkie różne ścieżki. Zobaczysz, że w rzeczywistości dzieli on
‫dane na bloki, czyli rzeczywiste pliki binarne znajdujące się wewnątrz obrazu, a następnie metadane wokół niego,
‫które jest manifestem, oraz znaczniki i tym podobne. Wszystko jest w ich własnych katalogach SHA, ponieważ
‫masz tu wiele warstw.
‫Nie jest szczególnie przydatna dla nas, aby tam zaglądać, ale jest to interesujące.
‫Więc idź.
‫To jest podstawa uruchamiania rejestru na komputerze lokalnym.
‫Następnie musimy zabezpieczyć go za pomocą niektórych TLS, a następnie włączyć niektóre uwierzytelnianie.
‫W porządku. To jest podstawa uruchamiania rejestru Docker.
‫Oto główne polecenia, które przeprowadziliśmy w tym wykładzie. Możesz zatrzymać się tutaj, jeśli chcesz napisać
‫coś w dół lub upewnić się, że twoje są poprawne.
‫Teraz, gdy skończysz z tym wykładem, pamiętaj, aby posprzątać, aby zacząć od nowej lekcji
‫na następnym wykładzie.