9.1 Ponowne spotkanie z Docker Hub
Poznajmy bliżej Docker Hub. Przypomnę, że jest to główny publiczny rejestr Docker, gdzie użytkownicy mogą przechowywać, wymieniać się i znajdować gotowe obrazy kontenerów. Platforma zapewnia dostęp do milionów kontenerów stworzonych zarówno przez oficjalne organizacje, jak i społeczność. W tym wykładzie przeanalizujemy, jak efektywnie wyszukiwać i pobierać gotowe obrazy z Docker Hub.
Główne zadania serwisu Docker Hub
Docker Hub to chmurowy serwis, który pozwala na przesyłanie obrazów do centralnego repozytorium i ich pobieranie. Serwis pełni rolę platformy, na której deweloperzy mogą dzielić się swoimi obrazami i korzystać z rozwiązań stworzonych przez innych. Główne funkcje Docker Hub obejmują:
- Publiczne i prywatne repozytoria: Możliwość przechowywania obrazów zarówno w otwartym dostępie dla wszystkich, jak i w ograniczonym dostępie dla określonych użytkowników.
- Automatyczna budowa (automated builds): Integracja z systemami kontroli wersji, takimi jak GitHub, w celu automatycznego budowania obrazów przy każdej zmianie kodu.
- Webhooks: Konfiguracja automatycznych działań, które wykonują się przy aktualizacji obrazów.
9.2 Szukanie gotowych obrazów
1. Korzystanie z interfejsu webowego Docker Hub
- Przejdź na stronę Docker Hub: otwórz Docker Hub w swojej przeglądarce.
- Wyszukiwanie obrazów: wpisz nazwę obrazu lub słowa kluczowe związane z twoim projektem w pole wyszukiwania. Na przykład, aby znaleźć obraz Nginx, wpisz "nginx" i naciśnij Enter.
- Przeglądanie wyników: w wynikach wyszukiwania wyświetlą się odpowiednie obrazy. Oficjalne obrazy są oznaczone jako "Official" i są wspierane przez Docker lub odpowiednie organizacje. Obrazy od innych użytkowników zawierają nazwę użytkownika lub organizacji.
- Wybór obrazu: kliknij na interesujący cię obraz, aby zapoznać się z jego opisem, dostępnymi tagami, instrukcjami dotyczącymi użytkowania i innymi przydatnymi informacjami.
2. Wyszukiwanie obrazów przez linię poleceń
Docker pozwala również na wyszukiwanie obrazów bezpośrednio z linii poleceń za pomocą komendy docker search
.
Przykład komendy:
docker search nginx
Ta komenda wyświetli listę obrazów zawierających nginx
w nazwie lub opisie. W wyniku znajdziesz nazwę obrazu, jego opis, liczbę gwiazdek (ocena), oznaczenie statusu oficjalnego oraz informację o automatycznych buildach.
Przykład wyniku:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 13764 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for... 2135 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM... 819 [OK]
9.3 Pobieranie obrazów
Po znalezieniu odpowiedniego obrazu, możesz go pobrać na swój komputer lokalny za pomocą komendy docker pull
.
1. Pobieranie konkretnego obrazu
Aby pobrać konkretny obraz, użyj następującej składni:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Gdzie:
- NAME: nazwa obrazu.
- TAG: (opcjonalnie) tag obrazu. Domyślnie używany jest tag
latest
, jeśli nie podano innego. - @DIGEST: (opcjonalnie) identyfikator obrazu w formacie SHA256.
Przykład pobierania obrazu:
Ten przykład pobierze najnowszy obraz nginx
z tagiem latest
.
docker pull nginx:latest
2. Pobieranie obrazu z konkretnym tagiem
Jeśli potrzebujesz konkretnego tagu obrazu, podaj go po dwukropku. Ten przykład pobierze obraz Ubuntu w wersji 20.04.
docker pull ubuntu:20.04
3. Sprawdzanie pobranych obrazów
Po pobraniu obrazu możesz sprawdzić, jakie obrazy znajdują się na twoim komputerze lokalnym, za pomocą komendy docker images
.
Przykład komendy:
Wynik komendy pokaże listę wszystkich pobranych obrazów z informacjami o repozytorium, tagu, identyfikatorze obrazu, dacie utworzenia i rozmiarze.
docker images
9.4 Przykłady użycia gotowych obrazów
1. Uruchamianie serwera WWW Nginx
Po pobraniu obrazu Nginx możesz szybko uruchomić kontener na jego podstawie.
Przykład:
Ten przykład uruchamia kontener Nginx
w tle i przekierowuje port 80 kontenera na port 8080 maszyny hosta. Teraz możesz uzyskać dostęp do serwera WWW Nginx
, otwierając przeglądarkę i wpisując http://localhost:8080.
docker run -d -p 8080:80 nginx
2. Uruchamianie bazy danych MySQL
Docker Hub udostępnia gotowe obrazy baz danych, takich jak MySQL, co pozwala łatwo wdrażać bazy danych do developmentu i testowania.
Przykład:
Ten przykład uruchamia kontener MySQL, ustawia hasło dla użytkownika root i przekierowuje port 3306 kontenera na port 3306 maszyny hosta.
docker run -d -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest
3. Użycie obrazu Redis do cache'owania
Redis to popularny system cache'owania, a Docker Hub udostępnia gotowy obraz Redis, który można wykorzystać do szybkiego wdrażania.
Przykład:
Ten przykład uruchamia kontener Redis i przekierowuje port 6379 kontenera na port 6379 maszyny hosta.
docker run -d -p 6379:6379 --name my_redis redis:latest
GO TO FULL VERSION