Dodawanie i konfigurowanie strony internetowej opartej o Docker w ServBay
ServBay to lokalne środowisko web developerskie zaprojektowane specjalnie dla systemu macOS, obsługujące wiele języków i stacków technologicznych. Poza możliwością uruchamiania wbudowanych pakietów ServBay (takich jak PHP, Node.js, Python, Go, Java, bazy danych), możesz również wykorzystywać kontenery Docker do uruchamiania i zarządzania swoimi stronami lub usługami. Taki sposób zapewnia maksymalną elastyczność, izolację środowiska i spójność - szczególnie przydatne w projektach wymagających specyficznych zależności czy konfiguracji.
W tym artykule szczegółowo opisano, jak dodać stronę internetową opartą na kontenerze Docker do ServBay oraz jak poprzez reverse proxy ServBay zintegrować taki serwis z lokalnym procesem developmentu.
Przegląd
Konfigurując ServBay jako reverse proxy, możesz kierować żądania do wybranej domeny na port usługowy uruchomiony wewnątrz kontenera Docker. ServBay obsługuje ruch wejściowy (certyfikaty HTTPS, DNS lokalny itp.), a kontener Docker skupia się jedynie na działaniu aplikacji. Taki układ łączy wygodę zarządzania w ServBay z potężnymi możliwościami konteneryzacji Dockera.
Poniższe kroki poprowadzą Cię przez cały proces dodawania i konfigurowania strony działającej w usłudze Docker z poziomu ServBay.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że spełniasz następujące warunki:
- Zainstalowany i uruchomiony ServBay: Pomyślnie zainstalowałeś i uruchomiłeś ServBay na macOS.
- Zainstalowany i uruchomiony Docker: Docker Desktop lub inna instancja Dockera działa w środowisku macOS.
- Przygotowany obraz i kontener Docker: Masz już przygotowany lub pobrany obraz Dockera zawierający Twoją stronę lub aplikację i jesteś w stanie uruchomić kontener na tej podstawie.
Szczegółowa procedura dodania strony
Krok 1: Przygotowanie i uruchomienie kontenera Docker
Najpierw upewnij się, że Twój kontener Docker działa, a należąca do niego usługa (np. serwer www) nasłuchuje na odpowiednim porcie wystawionym na hosta (czyli Twojego macOS) przez mechanizm mapowania portów Dockera.
Na przykład, jeśli korzystasz z prostego kontenera Nginx, gdzie Nginx nasłuchuje na porcie 80, poniższe polecenie zmapuje port 8080 hosta na port 80 w kontenerze:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
W tym przykładzie usługa Nginx wewnątrz kontenera my-nginx-servbay
nasłuchuje na porcie 80
, ale dzięki opcji -p 8080:80
port ten zostaje zmapowany na port 8080
hosta. Właśnie ten port na hoście będzie później wykorzystywał ServBay do połączenia.
Upewnij się, że w zależności od Twojej aplikacji i konfiguracji Dockerfile, Twój serwis wewnątrz kontenera słucha na właściwym porcie i ten port jest poprawnie zmapowany na port hosta.
Krok 2: Otwórz panel zarządzania ServBay
Znajdź ikonę aplikacji ServBay
w folderze Aplikacje swojego macOS i uruchom graficzny panel zarządzania ServBay.
Krok 3: Przejdź do sekcji zarządzania stronami
Po uruchomieniu ServBay zobaczysz główny interfejs. W panelu po lewej stronie wyszukaj i kliknij opcję Strony
. Przejdziesz tym samym do sekcji zarządzania wszystkimi lokalnymi stronami dodanymi do ServBay.
Ilustracja: Kliknij „Strony” w menu po lewej, aby przejść do sekcji zarządzania stronami.
Krok 4: Dodaj nową stronę
Na dole strony zarządzania stronami zobaczysz przycisk z symbolem +
. Kliknij go, a po prawej pojawi się nowy formularz, w którym wprowadzisz konfigurację nowej strony.
Ilustracja: Kliknij „+” na dole, by dodać nową stronę.
Krok 5: Skonfiguruj ustawienia strony
W nowo otwartym formularzu konfiguracji strony uzupełnij następujące informacje:
- Nazwa (Name): Nadaj stronie zrozumiałą nazwę, np.
Docker Nginx Demo
. Służy wyłącznie do wewnętrznego zarządzania w ServBay. - Domena (Domain): Podaj domyślną domenę, pod którą chcesz uzyskać dostęp do serwisu z Dockera. Zalecane jest korzystanie z przyrostka
.servbay.demo
w celu uniknięcia konfliktów z domenami publicznymi, np.docker.servbay.demo
. ServBay automatycznie skonfiguruje plik hosts, aby ta domena wskazywała na lokalny adres (127.0.0.1
). - Protokół (Protocol): Wybierz obsługiwany przez stronę protokół. Zazwyczaj domyślna opcja
HTTP/HTTPS
jest odpowiednia. ServBay będzie nasłuchiwał zarówno na portach HTTP (80), jak i HTTPS (443), obsługując odpowiednio certyfikaty SSL. - Metoda generowania certyfikatu SSL (SSL Certificate Request Method): Zalecane jest wybranie
ServBay CA
. ServBay automatycznie wygeneruje i zarządza zaufanym lokalnym certyfikatem SSL, podpisanym przez ServBay User CA. Instalując ServBay Public CA w systemowym pęku kluczy, przeglądarka będzie ufać tym lokalnym certyfikatom, co ułatwi lokalny rozwój i testowanie HTTPS. Jeśli masz inne potrzeby, możesz wybraćACME
(np. Let's Encrypt) lubCustom
(własny certyfikat). - Typ strony (Website Type): [WAŻNE] Wybierz opcję
Reverse Proxy (Reverse Proxy)
. Oznacza to, że ServBay obsłuży ruch dla tej domeny i przekaże go do wskazanego adresu usługowego backendu. - Adres IP (IP Address): Podaj adres IP na hoście, na którym nasłuchuje usługa z kontenera Docker. W większości przypadków w lokalnych ustawieniach Dockera będzie to
127.0.0.1
. - Port (Port): Podaj port udostępniony na hoście przez usługę z kontenera Docker. Zgadza się to z portem, który ustawiłeś przy poleceniu
docker run -p <host port>:<container port>
. Na przykład, jeśli był to-p 8080:80
, wpisz tutaj8080
.
Ilustracja: Wypełnianie danych konfiguracji reverse proxy dla Dockera.
Krok 6: Zatwierdź i zapisz konfigurację
Po uzupełnieniu wszystkich wymaganych danych, kliknij przycisk Dodaj (Add)
na dole formularza.
ServBay automatycznie doda odpowiednie reguły reverse proxy do swojej konfiguracji serwera WWW (np. Caddy lub Nginx) i zaktualizuje plik hosts, aby domena wskazywała na lokalny adres.
Po udanym zapisaniu konfiguracji ServBay może potrzebować krótkiej chwili na odświeżenie ustawień. Teraz możesz spróbować wejść na swoją właśnie skonfigurowaną domenę.
Krok 7: Odwiedź stronę i korzystaj z szybkich akcji
Po zapisaniu konfiguracji, wróć do sekcji zarządzania stronami. Powinna pojawić się nowa pozycja reprezentująca właśnie dodaną stronę. Upewnij się, że jej status to „Uruchomiona”.
Teraz możesz przejść w przeglądarce do wybranej domeny (np. http://docker.servbay.demo
lub https://docker.servbay.demo
). Jeżeli wszystko jest poprawnie skonfigurowane, ServBay przekaże Twój ruch do usługi w kontenerze Docker i załaduje stronę przygotowaną przez kontener.
W sekcji zarządzania stronami ServBay udostępnia również szereg przydatnych przycisków szybkich akcji:
- Otwórz katalog główny strony w IDE: (W przypadku stron typu reverse proxy może być niedostępne lub prowadzić do katalogu konfiguracyjnego ServBay – zależnie od wersji i ustawień).
- Otwórz stronę w przeglądarce: Szybko otwiera URL strony w nowej zakładce.
- Wyświetl logi strony: Podgląd dzienników dostępu oraz błędów dla danej strony, niezwykle pomocne przy debugowaniu.
- Wstrzymaj/Wznów stronę: Tymczasowo wyłącza lub aktywuje konfigurację reverse proxy dla wybranej strony.
- Usuń stronę: Usuwa konfigurację strony z ServBay.
Ilustracja: Przykładowe szybkie akcje dla stron w ServBay.
Wskazówki i najlepsze praktyki
- Status kontenera Docker: Zawsze upewnij się, że docelowy kontener Docker jest uruchomiony. W przeciwnym razie ServBay nie będzie w stanie przekazać ruchu.
- Mapowanie portów: Zadbaj, by konfiguracja mapowania portów Dockera (
-p
) oraz wpisany port w ServBay były zgodne, a port na hoście nie był zajęty przez inne procesy. - Firewall: Sprawdź ustawienia zapory macOS, by porty używane przez ServBay (domyślnie 80, 443) oraz porty wystawione na hosta przez Dockera nie były blokowane.
- Tryb sieci Docker: Najprostszym rozwiązaniem jest użycie domyślnego trybu
bridge
i mapowania portów przez-p
. Jeśli korzystasz z trybuhost
, ServBay musi się łączyć bezpośrednio do portu w kontenerze (np. port 80), ale tryb ten niesie ryzyko konfliktów portów. - ServBay CA: Dla wygodnego rozwoju HTTPS silnie zalecane jest zainstalowanie ServBay Public CA. Dzięki temu lokalne certyfikaty generowane przez ServBay będą traktowane jako zaufane w systemie i przeglądarce, co zapobiega alertom bezpieczeństwa.
FAQ: Najczęstsze pytania i rozwiązywanie problemów
Q: Po dodaniu strony nie ładuje się ona, przeglądarka informuje o błędzie połączenia albo przekroczonym czasie oczekiwania?
A: Weryfikację zacznij od tych kroków:
- Sprawdź status strony w ServBay: W panelu zarządzania stronami, upewnij się, że status strony to „Uruchomiona”.
- Sprawdź kontener Docker: W terminalu wydaj polecenie
docker ps
, by potwierdzić, że właściwy kontener działa. - Zweryfikuj mapowanie portów Dockera: Komenda
docker ps
pokaże też informację o przekierowaniach portów (PORTS
). Sprawdź, czy port hosta (np.8080
w0.0.0.0:8080->80/tcp
lub127.0.0.1:8080->80/tcp
) zgadza się z tym wpisanym do ServBay. - Sprawdź usługę wewnątrz kontenera: Upewnij się, że serwer www w kontenerze (np. Nginx, Apache, aplikacja Node) naprawdę nasłuchuje na odpowiednim porcie i nie ma problemu wewnętrznego (pomoże komenda
docker logs <ID lub nazwa kontenera>
). - Sprawdź logi ServBay: Kliknij ikonkę logów przy stronie w panelu ServBay – tam znajdziesz szczegóły ewentualnych błędów reverse proxy.
- Sprawdź plik hosts systemu: Choć ServBay powinien zrobić to automatycznie, możesz ręcznie zajrzeć do
/etc/hosts
i sprawdzić, czy wybrana domena wskazuje na127.0.0.1
. - Firewall: Upewnij się, że firewall nie blokuje portów potrzebnych ServBay i te wystawione przez Dockera.
Q: Czy ServBay zarządza kontenerami Docker?
A: ServBay służy głównie do zarządzania lokalnymi serwisami webowymi, bazami danych, środowiskami językowymi i routowania ruchu do backendów (w tym Dockera). Nie oferuje pełnego zarządzania cyklem życia kontenerów Docker (start/stop/budowanie obrazów itd.). Do tego wciąż musisz używać narzędzi Dockera: CLI lub Docker Desktop.
Q: Czym jest ServBay CA i dlaczego warto ją zainstalować?
A: ServBay CA (Certificate Authority) to dedykowany system SSL dla lokalnego developmentu w ServBay. ServBay User CA służy do generowania certyfikatów dla lokalnych stron, a ServBay Public CA to certyfikat rootowy. Po zainstalowaniu ServBay Public CA do systemowego pęku kluczy, system i przeglądarki zaczną ufać lokalnym certyfikatom ServBay. Dzięki temu możesz testować HTTPS lokalnie bez ostrzeżeń „Połączenie niezaufane”. To kluczowe do bezpiecznego rozwoju środowiska zbliżonego do produkcji.
Podsumowanie
Dodanie strony internetowej opartej na kontenerze Docker w ServBay to skuteczny i elastyczny proces. ServBay pełni centralną rolę w zarządzaniu ruchem i domenami, natomiast Docker zapewnia wygodę uruchamiania i izolowania środowiska aplikacji. Dzięki prostej konfiguracji reverse proxy z łatwością zintegrujesz różnorodne projekty dockerowe ze swoim workflow w ServBay. Stosując się do powyższych kroków i wskazówek, szybko uruchomisz oraz skonfigurujesz lokalną stronę internetową opartą na Dockerze.