Jak i dlaczego uruchamiać Redis w Dockerze

Opublikowany: 2023-05-02

Redis to wysoce dostępna baza danych w pamięci. Trwały na dysku magazyn danych klucz-wartość jest idealny do wielu zastosowań o wysokiej dostępności.

Z drugiej strony Docker jest narzędziem do konteneryzacji aplikacji i usług, izolowania ich środowisk i pozwalania im działać osobno. Możesz użyć Dockera jako menedżera pakietów dla aplikacji i usług ze wszystkimi niezbędnymi zależnościami, konfiguracjami, skryptami itp. Skrypt o nazwie Dockerfile jest umieszczony w kontenerze Dockera i umożliwia wdrożenie kontenera jako pojedynczej jednostki.

Z tego artykułu dowiesz się, jak efektywnie korzystać z tych dwóch technologii open source. Dotyka również tego, dlaczego uruchamianie klastrów Redis w kontenerach Docker jest tak ważne, a także zalety i korzyści z tego płynące w porównaniu z uruchamianiem klastrów Redis na maszynach wirtualnych lub serwerach fizycznych.

Różne zastosowania Redis

Redis ma kilka zalet. Do jego najpopularniejszych zastosowań należą:

  • Rozproszona pamięć podręczna bazy danych klucz-wartość
  • Broker wiadomości
  • Trwały serwer buforowania obiektów

Ponadto Redis może obsługiwać wiele typów danych i struktur, dzięki czemu nadaje się do stosowania zarówno jako podstawowa, jak i pomocnicza warstwa bazy danych dla aplikacji. Obsługuje również listy, strumienie, skróty, zestawy itp.

Możesz jednak zwiększyć korzyści Redis, konteneryzując je.

Redis najlepiej sprawdza się w pojemniku! Dowiedz się, jak efektywnie korzystać z Redis & Docker i odblokuj zalety konteneryzacji aplikacji Redis - wszystko w tym poście ️ Kliknij, aby tweetować

Redis najlepiej sprawdza się w kontenerze

Redis to jeden z najpopularniejszych obrazów Dockera w rejestrze Dockera, z ponad miliardem pobrań. Powodem konteneryzacji aplikacji Redis jest uzyskanie korzyści Dockera i wsparcia społeczności dla najczęstszych przypadków użycia Redis.

Obraz Redis Docker ma społeczność open source, która tworzy i utrzymuje przejrzystą dokumentację. Co więcej, Docker jest wysoce niezawodny i umożliwia łatwe użytkowanie i elastyczność.

Łatwość użycia

Docker izoluje środowiska zarówno dla aplikacji, jak i usług działających w kontenerach. Izolacja oznacza, że ​​możesz pakować, budować i dostarczać obrazy Redis, które działają niezależnie od systemu operacyjnego hosta, co ułatwia tworzenie i uruchamianie aplikacji Redis w Dockerze. Ponadto Docker Desktop upraszcza konfigurowanie spójnego lokalnego środowiska programistycznego, co jest szczególnie przydatne w przypadku dużych zespołów.

Bezpieczeństwo:

Możesz skanować w poszukiwaniu luk w zabezpieczeniach za pomocą Redis wewnątrz kontenera. Docker używa Snyk, narzędzia, które zapewnia wgląd w bezpieczeństwo obrazów Dockera. Skanuje kontenery Docker i zapewnia szczegółowe informacje oraz środki zaradcze w przypadku uszkodzonych obrazów. Docker może również generować programowe zestawienie materiałów (SBOM) do skanowania wszystkich zależności używanych w budowaniu obrazów kontenerów, chociaż jest to nadal eksperymentalne.

Elastyczność

Docker jest dostępny dla większości systemów operacyjnych i aplikacji opartych na systemie Unix i Windows. Ponieważ używasz kontenerów do izolowania oprogramowania od środowiska, aby zapewnić jego działanie ze wszystkimi systemami, aplikacje i usługi Redis zawsze działają pomimo infrastruktury.

Niezawodność

Docker umożliwia niezawodne uruchamianie dowolnego obciążenia kontenerowego w dowolnym środowisku. Redis jest niezawodny w Dockerze, ponieważ kontenery Dockera okresowo wykonują migawki obrazu kontenera, umożliwiając powrót do tych migawek w przypadku złej lub uszkodzonej bazy danych. Możesz także utworzyć wolumin Docker, montując katalog zawierający plik bazy danych Redis wewnątrz kontenera.

Wolumen Docker pomaga zabezpieczyć kontener przed jakąkolwiek formą przypadkowej utraty danych. Jednak zastrzeżeniem jest to, że woluminy platformy Docker nie zawierają migawek obrazu. Należy okresowo ręcznie zapisywać lub tworzyć kopie zapasowe danych w pliku bazy danych Redis.

Jak używać Redis z Dockerem

Aby umieścić swój sklep Redis w kontenerze Docker, musisz mieć Dockera w środowisku docelowym. Poniższe instrukcje pokazują, jak zainstalować Docker w systemie Windows.

Możesz postępować zgodnie z przewodnikiem na stronie internetowej Docker dla systemu operacyjnego Unix lub opartego na systemie Unix. Po instalacji i konfiguracji możesz utworzyć sieć w swoim kontenerze Docker. Następnie możesz zainstalować Redis i utworzyć bazę danych. Na koniec możesz wykonywać operacje na swojej bazie danych Redis.

Najpierw zainstaluj Dockera w swoim systemie operacyjnym. Opcjonalnie przejdź do Docker Hub i utwórz konto. Potrzebujesz konta, aby tworzyć i publikować swoje obrazy.

Formularz rejestracji w centrum Docker
Centrum Dockera

Po utworzeniu konta zaloguj się do Docker Hub i pobierz najnowszą wersję Docker Desktop dla swojego systemu operacyjnego.

Strona pobierania dla Docker Desktop z opcjami dla systemów operacyjnych.
Strona pobierania Dockera

Po procedurze instalacji przejdź do okna terminala, aby sprawdzić, czy Docker Engine jest gotowy do uruchomienia i wprowadź następujące polecenie:

 docker --version
Sprawdź zainstalowaną wersję Dockera
Zainstalowana wersja Dockera

Następnie wpisz: docker-compose --version .

Sprawdź wersję Compose zainstalowaną z Dockerem
Compose zainstalowany z Dockerem

Compose to narzędzie do definiowania i uruchamiania wielokontenerowych aplikacji Docker przy użyciu plików YAML, których używasz do konfigurowania usług aplikacji.

Możesz uruchomić Dockerized Redis, aby sprawdzić, czy Docker Engine działa i działa, używając poniższego kodu. Ten przykład uruchamia obraz Redis z Docker Hub i nadaje mu nazwę my-redis-container .

 docker run --name my-redis-container -d redis
Uruchom obraz Redis z Docker Hub o nazwie my-redis-container
Obraz Redis z Docker Hub o nazwie my-redis-container

Ponieważ nie masz obrazu lokalnie, Docker ściąga obraz Redis z Docker Hub.

Teraz możesz otworzyć Docker Desktop, aby potwierdzić, że pobrał obraz Redis. Na pulpicie nawigacyjnym kliknij Obrazy w panelu po lewej stronie.

Sprawdź, czy Twój obraz Redis jest uruchomiony z Docker Desktop
Pulpit Dockera

Teraz możesz utworzyć sieć. Należy zauważyć, że sterownik Docker używa mostka lub wbudowanych sterowników sieciowych nakładki, aby utworzyć sieć Docker. Możesz także zainstalować i używać sterownika sieciowego innej firmy.

Różnica polega na tym, że sieci pomostowe są izolowane w pojedynczej instalacji Docker Engine, podczas gdy sieci nakładkowe obejmują wiele hostów Docker, z których każdy działa z silnikiem.

Typ:

 docker network create -d bridge kinsta-demo-network
Utwórz nową sieć platformy Docker za pomocą sterownika mostu
Sieć Docker ze sterownikiem mostu

Jeśli domyślnie nie określisz żadnych sterowników, Docker użyje sterownika pomostowego do utworzenia nowej sieci, ponieważ automatycznie tworzy sterownik pomostowy podczas instalacji Docker Engine. Jeśli jednak uruchomisz kontener Docker za pomocą polecenia Docker run, nie będzie on korzystał z tej sieci.

Teraz, gdy masz sieć, następnym krokiem jest instalacja Redis w kontenerze Docker. Aby to zrobić, wpisz: docker pull redis .

Ściągnij obraz Redis z Docker Hub
Ściągnij obraz Redis z Docker Hub

Aby sprawdzić, czy obraz Redis jest poprawnie zainstalowany, uruchom jedno z następujących poleceń:

 docker images
 docker image ls
Wyświetl listę dostępnych obrazów platformy Docker w terminalu użytkownika
Dostępne obrazy platformy Docker w terminalu użytkownika


Następnie utwórz i uruchom kontener Redis. Aby to zrobić, uruchom następujące polecenie:
 docker run -it –name dev_kinsta_redis_container -d redis
Utwórz i uruchom kontener Docker
Kontener Dockera

Teraz sprawdź, czy Redis działa w kontenerze. Aby to zrobić, wpisz: docker ps .

Sprawdź, czy Redis działa w kontenerze
Sprawdź, czy Redis działa w kontenerze

Po potwierdzeniu, że Twój kontener Docker jest uruchomiony, możesz dodać go do sieci. Wpisz: docker network connect .

Dodaj kontener Docker do utworzonej sieci Docker
Dodaj kontener Docker do utworzonej sieci Docker

Gdy wszystko działa zgodnie z oczekiwaniami, następnym krokiem jest sprawdzenie, czy serwer Redis działający w Dockerze jest gotowy do przyjmowania połączeń. Aby to zrobić, użyj docker logs .

Sprawdź, czy obraz Redis działa w kontenerze platformy Docker
Sprawdź, czy obraz Redis działa w kontenerze platformy Docker

Następnie musisz utworzyć bazę danych, ponieważ potrzebujesz sposobu na połączenie się z kontenerem Redis w celu uruchamiania poleceń na serwerze. Aby to zrobić, wpisz: docker exec -it bash . Nazwy kontenera i identyfikatora kontenera można używać zamiennie.

Połącz się z wystąpieniem kontenera Redis
Połącz się z wystąpieniem kontenera Redis.

W kontenerze użyj interfejsu CLI do uruchamiania poleceń. Zauważ, że Redis automatycznie instalował hosty Docker. Aby użyć Redis-CLI, wpisz: redis-cli .

Użyj interfejsu wiersza polecenia Redis do uruchamiania poleceń Redis
Użyj interfejsu wiersza polecenia Redis do uruchamiania poleceń Redis

Spowoduje to połączenie z domyślnym portem Redis na hoście lokalnym. Wpisz: ping , a odpowiedzią powinno być pong .

Sprawdź, czy połączenie Redis działa
Sprawdź, czy połączenie Redis działa

Następnie wybierz bazę danych na swoim serwerze Redis, wpisując select . Chociaż domyślną bazą danych jest 0 , wybierz db 1 .

Wybierz określoną bazę danych Redis
Wybierz określoną bazę danych Redis

Następnie wstaw dane do bazy danych. Użyj polecenia Redis SET . Aby to zrobić, wpisz SET <key> <value> .

Na przykład:

 SET mykey "Hello"

Aby uzyskać ten sam klucz, wpisz:

 get myKey
Wstawiaj i pobieraj dane z Redis
Wstawiaj i pobieraj dane z Redis

Aby uzyskać wartość klucza, uruchom get . To zwraca wartość. Następnie monitoruj bazę danych Redis, wpisując MONITOR .

Monitoruj bazę danych Redis
Monitoruj bazę danych Redis

Na koniec zatrzymaj serwer Redis, wychodząc z interfejsu CLI. Dwukrotnie wpisz exit , aby wyjść z CLI i Redis.

Wyjdź z Redis CLI
Wyjdź z Redis CLI

Na koniec zatrzymaj uruchamianie kontenera Redis, wpisując polecenie docker stop .

Wykonaj polecenie, aby zatrzymać działanie kontenera Docker
Wykonaj polecenie, aby zatrzymać działanie kontenera Docker

Redis z DevKinsta

DevKinsta pozwala połączyć witrynę WordPress z bazą danych Redis. Dzięki DevKinsta dodatek Redis działa bezproblemowo jako pamięć podręczna obiektów w celu utrwalania danych podczas kilku ładowań stron. Oznacza to, że za pomocą dodatku Redis można użyć pamięci podręcznej do ponownego wykorzystania obiektów zamiast ciągłego wysyłania zapytań do bazy danych MySQL.

Po pobraniu i skonfigurowaniu DevKinsta zainstaluj Docker Desktop jako zależność, której używa do tworzenia lokalnych plików środowiska wewnątrz kontenera. Dzięki tej konfiguracji możesz skonfigurować dodatek Redis w Devkinsta.

W związku z tym dodatek Redis dla DevKinsta może służyć jako dodatkowe źródło, zmniejszając obciążenie podstawowej bazy danych, zwiększając czasy odpowiedzi i przyspieszając działanie aplikacji.

Przekłada się to na wydajniejsze ładowanie i skalowanie aplikacji. Sprawdź ten post, aby użyć wtyczki Redis w swojej witrynie.

Redis + Docker = idealne dopasowanie! Oto dlaczego konteneryzacja aplikacji Redis jest dobrym rozwiązaniem i jak najlepiej ją wykorzystać. Kliknij, aby tweetować

Streszczenie

Uruchamianie Redis w kontenerze Docker ma wiele zalet. Oferuje środowisko piaskownicy dla Twoich aplikacji, dzięki czemu nie musisz już martwić się o platformę, na której wdrażasz swoje aplikacje. Ponadto Docker zapewnia łatwość użytkowania, elastyczność i wysoką niezawodność.

Jeśli chodzi o bezpieczeństwo, możesz natychmiast sprawdzić i przeskanować luki w zabezpieczeniach za pomocą Synk, narzędzia zapewniającego wgląd w bezpieczeństwo obrazów Dockera. Jeśli chodzi o elastyczność, Docker działa z większością systemów operacyjnych i aplikacji opartych na systemie Unix i Windows. Ta elastyczność oznacza, że ​​dokowane lub konteneryzowane aplikacje lub usługi zawsze działają niezależnie od systemu operacyjnego.

Jest łatwy w użyciu Docker i dodatek Redis z DevKinsta, który uruchamia lokalnie dokowaną witrynę WordPress po jej uruchomieniu. Sprawdź DevKinsta i dodatek Redis, aby już dziś wykorzystać moc Redis w Dockerze.