Wszystko, co powinieneś wiedzieć o Docker Hub

Dowiedzmy się o Docker Hub.

Dzisiaj, w tym samouczku, dowiemy się o Docker Hub, w tym o tym, jak z niego korzystać, jak tworzyć własny obraz oraz jak pomaga w publikowaniu i pobieraniu obrazów do i z Centrum Dockera. Spędzimy też trochę czasu na eksploracji niektórych popularnych repozytoriów w Docker Hub.

Warunki wstępne

Wymagana jest podstawowa znajomość Dockera, znajomość środowiska Windows i Linux. Ten samouczek użyje narzędzia Docker Desktop do ćwiczenia trwającego ćwiczenia, tj. do budowania i przesyłania obrazu do Docker Hub. Użytkownicy systemów Windows i Mac mogą go pobrać i zainstalować z tutaja użytkownicy Linuksa podążają za tym połączyć.

Co to jest centrum Dockera?

Docker Hub to usługa rejestru repozytorium świadczona przez Docker Inc.

Pozwala nam pobierać i wypychać obrazy dockera do i z Docker Hub. Możemy to potraktować jako GitHub, gdzie pobieramy i wpychamy nasz kod źródłowy, ale w przypadku Docker Hub pobieramy lub publikujemy nasze obrazy kontenerów. Jest to internetowe repozytorium oparte na chmurze, które przechowuje oba typy repozytoriów, tj. repozytorium publiczne oraz repozytorium prywatne. Repozytoria publiczne są dostępne dla wszystkich, ale prywatne są dostępne dla zainteresowanego właściciela repozytoriów; wiąże się z tym również koszt, jeśli jako prywatne przechowujemy więcej niż określoną liczbę repozytoriów.

Funkcje Docker Hub

Docker Hub oferuje kilka następujących funkcji.

#1. Repozytoria obrazów

Pomaga nam w wyszukiwaniu i pobieraniu obrazów kontenerów z Docker Hub.

Pomaga nam również w przesyłaniu obrazów jako repozytorium publicznego lub prywatnego do Docker Hub.

#2. Zespół i organizacje

Pozwala nam tworzyć grupy robocze i przesyłać repozytoria jako prywatne, które są dostępne tylko do użytku w naszej organizacji. W ten sposób zarządzaliśmy dostępem do naszych prywatnych repozytoriów obrazów kontenerów.

#3. Integracja z GitHub i Bitbucket

Umożliwia integrację z repozytoriami kodu źródłowego, takimi jak GitHub i BitBucket.

#4. Zautomatyzowane kompilacje

Jeśli jakakolwiek zmiana w kodzie źródłowym została wypchnięta do repozytoriów kodu źródłowego, automatycznie wykrywa i kompiluje obrazy kontenerów z GitHub lub BitBucket i wypycha je do Docker Hub.

#5. Webhooki

Po pomyślnym wypchnięciu naszych obrazów za pomocą webhooka uruchamia akcję integracji Docker Hub z innymi usługami.

#6. Obrazy oficjalne i wydawcy

Obrazy wysokiej jakości dostarczane przez platformy dokowane są uważane za obrazy oficjalne i można je pobierać i używać. Podobnie wysokiej jakości obrazy dostarczane przez zewnętrznych dostawców są obrazami wydawcy, zwanymi również obrazami certyfikowanymi, co zapewnia wsparcie i gwarancję zgodności z Docker Enterprise. Więcej certyfikowanych obrazów omówimy w dalszej części tego artykułu.

Tworzenie pierwszego repozytorium

Ten krok wymaga zalogowania się do Centrum Dockera używając swoich danych logowania. Jeśli nie masz konta, możesz już utworzyć, klikając przycisk Zarejestruj się dostępny na stronie internetowej. Po zalogowaniu możesz utworzyć repozytorium, klikając Utwórz repozytorium na stronie powitalnej.

  • Po kliknięciu na Utwórz repozytorium poprosi o nazwę, nadaj nazwę twojemu repozytorium.

  • Wybierz opcję widoczności z publicznego lub prywatnego.

Możemy również zintegrować nasze repozytoria kodu źródłowego, takie jak GitHub i BitBucket, poprzez ustawienie kompilacji, ale jest to opcjonalne i można to zrobić również na późniejszym etapie.

  • Gdy wszystko zostanie zrobione, kliknij Utwórz.

Gratulacje! Utworzyłeś swoje pierwsze repozytoria, które będą wyglądać następująco.

Docker Hub udostępnia nam za darmo tylko jedno prywatne repozytorium. Chociaż, jeśli potrzebujemy więcej prywatnych repozytoriów, możemy uaktualnić nasze konto do płatnego planu.

Teraz otwórz narzędzie/terminal Docker Desktop, pobrane i zainstalowane powyżej i zaloguj się do Docker Hub za pomocą polecenia.

docker login

Eksplorowanie obrazów

Istnieją dwa sposoby wyszukiwania publicznych repozytoriów i obrazów z Docker Hub, to znaczy możemy przeszukać je ze strony Docker Hub lub użyć narzędzia wiersza poleceń i uruchomić poniższe polecenie. Rozważmy, że chcemy przeszukać obraz repozytorium MySQL.

docker search mysql

Pobieranie obrazu

Możemy pobrać obraz z polecenia Docker Hub za pomocą polecenia pull w następujący sposób

# docker pull mysql

Jeśli mamy już obraz mysql na naszym komputerze, powyższe polecenie automatycznie zaktualizuje obraz do najnowszej wersji. Jedną rzeczą, o której należy pamiętać, jest to, że jeśli zauważymy nasze dane wyjściowe polecenia wyszukiwania docker, w Docker Hub znajduje się wiele obrazów MySQL, a to dlatego, że każdy może przesłać obraz. Ale to od nas zależy, który z nich użyjemy w oparciu o nasz przypadek użycia. I musimy serować odpowiedni.

Powiedzmy, że chcemy pobrać obraz bitnami/mysql.

# docker pull bitnami/mysql

Tworzenie obrazu

Ten proces wymaga pliku Dockerfile. Możemy myśleć o Dockerfile jako o instrukcji obsługi, która mówi dockerowi, co ma składać. Krótko mówiąc, jest to plik konfiguracyjny, który przechowuje instrukcję asemblacji, co każemy mu asemblować.

Jak to działa?

Docker odczytuje instrukcję z pliku Dockerfile i automatycznie tworzy obrazy. Obraz platformy Docker jest warstwowym systemem plików i składa się z wielu warstw tylko do odczytu, a każda warstwa obrazu platformy Docker reprezentuje instrukcje pliku Docker. Wykonaj poniższe kroki, aby utworzyć obraz za pomocą pliku Dockerfile.

Utwórz plik Dockerfile, który określa konfigurację naszej aplikacji.

# sudo vim Dockerfile

Uwaga – nazwa pliku powinna brzmieć Dockerfile z dużym „D”.

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."

Rzućmy okiem na niektóre z ważnych słów kluczowych używanych w Dockerfile

  • Możemy użyć symboli #, aby dodać komentarz w pliku Dockerfile
  • Słowo kluczowe „FROM” definiuje obraz bazowy, który ma zostać użyty.
  • KONSERWATOR” słowo kluczowe to osoba, która będzie utrzymywać ten wizerunek.
  • Słowo kluczowe „RUN” służy do uruchomienia instrukcji podanej dla obrazu. W naszym przypadku najpierw zaktualizuj system, a następnie zainstaluj MySQL.
  • Słowo kluczowe „CMD” służy do wykonania polecenia po uruchomieniu kontenera.
  • Słowo kluczowe „COPY” może służyć do kopiowania pliku z naszego hosta do kontenera dockera.
  • Słowo kluczowe „EXPOSE” służy do określenia numeru portu, na którym kontener będzie uruchamiał swój proces.

Uruchom poniższe polecenie, aby zbudować nasz obraz Docker

Składnia:

docker build -t /nazwa-repo .

# docker build -t asadali08537/first-repo .

W powyższym poleceniu nazwa obrazu to i „.” określa bieżący katalog roboczy. Jest to wskazówka dla platformy Docker, aby wyszukać bieżący katalog pliku docker. „-t” służy do oznaczania obrazu. Możemy zobaczyć dane wyjściowe podobne do:

Teraz przetestujmy nasz obraz, uruchamiając go poleceniem run w dockerze.

docker run asadali08527/first-repo

Wykonanie powyższego polecenia spowoduje, że obraz Dockera pomyślnie zainstaluje MySQL na twoim komputerze ze wszystkimi niezbędnymi aktualizacjami, a na koniec wyświetli również komunikat echa.

Przesuwanie obrazu

Po pomyślnym utworzeniu naszego obrazu i uruchomieniu możemy go wypchnąć do Docker Hub za pomocą polecenia push.

docker push asadali08527/first-repo

Możemy sprawdzić tagi obrazu i status w Docker Hub, który będzie wyglądał mniej więcej tak.

Co to są obrazy z certyfikatem Docker?

Są to oficjalne obrazy wypychane przez dostawców lub współpracowników. Obraz może być certyfikowany przez Docker Hub tylko wtedy, gdy jego zawartość jest zgodna z zasadami, standardami i przepisami dostarczonymi przez Docker Hub. Krótko mówiąc, ten obraz musi przejść pewne podstawowe testy.

Docker Hub zapewnia narzędzie inspectDockerImage, za pomocą którego dostawca może samodzielnie certyfikować obrazy i wtyczki (zwykle dostawca lub współautor publikuje swoje wtyczki do rejestrowania woluminów i sieci).

Notatka –

Aby opublikować nasz obraz jako certyfikowany docker, najpierw musimy certyfikować i testować nasze obrazy i wtyczkę samodzielnie za pomocą sprawdźDockerImage narzędzie, po pomyślnym certyfikowaniu i przetestowaniu, po złożeniu wniosku Docker Hub je certyfikuje. Jeśli nasze treści wymagają środowiska bez certyfikatu, w żadnym wypadku nie mogą być publikowane jako certyfikowane.

W Docker Hub dostępnych jest wiele wyselekcjonowanych i zoptymalizowanych obrazów.

Popularność tych obrazów zależy od różnych czynników, takich jak przyciąganie, obecność na rynku, oceny, wyniki satysfakcji itp. Aby uzyskać szczegółową listę najpopularniejszych repozytoriów, przejdźmy do Centrum Dockera stronie internetowej. Użycie obrazu zależy również od systemu operacyjnego i jego architektury. Jeśli wiemy, że ściągnięte obrazy będą używane dla którego systemu operacyjnego i jego architektury, przed ściągnięciem obrazu musimy wziąć pod uwagę poniższe kluczowe czynniki.

  • Poszukaj konkretnej wersji za pomocą tagów (głównie najnowszej).
  • Wybierz ten, który ma maksymalną liczbę pobrań i gwiazdek.
  • Sprawdź jego aktualizacje (kiedy był ostatnio aktualizowany).
  • Jeśli to możliwe, sprawdź jego typ, czy to zweryfikowany wydawca, czy oficjalny (z certyfikatem Docker).

Webhooki

Element webhook to wywołanie zwrotne w sieci Web, które działa ze zdarzeniami i jest sposobem, w jaki aplikacja przekazuje informacje w czasie rzeczywistym do innej aplikacji. W dzisiejszych czasach prawie każda aplikacja udostępnia funkcję webhook, więc Docker Hub ma również tę funkcję.

Jest to interfejs API push HTTP wyzwalany przez zdarzenia wyznaczone przez użytkownika. Możemy użyć webhooka w dokerze, aby powiadomić aplikację lub usługę, która używa danych obrazów. Ogólnie rzecz biorąc, konfigurujemy webhooki z dockerem jako potok zdarzeń, tak aby każde przesłanie nowych obrazów wyzwalało uruchamianie przez aplikacje testowe podkreślonych przypadków testowych.

Gdy wynik testu zakończy się pomyślnie, wyzwoli kolejne zdarzenie, którym będzie wdrożenie kontenera, a po pomyślnym zakończeniu wdrożenia wywoła inne zdarzenia, które zarejestrują dokonane do tej pory zmiany.

Wniosek

Wierzę, że teraz dobrze rozumiesz Docker Hub oraz sposoby wyszukiwania, tworzenia i przesyłania obrazów. Pamiętaj, że kiedy przesyłasz publiczne obrazy, będą one widoczne dla każdego.

Jeśli jeszcze nie, zapoznaj się z tym przewodnikiem instalacji platformy Docker.