Dodawanie i konfiguracja stron opartych na kontenerach Docker w ServBay
ServBay to lokalne środowisko do tworzenia stron WWW, dostępne na macOS i Windows, obsługujące wiele języków i technologii. Oprócz hostowania stron bezpośrednio w ramach zintegrowanych pakietów ServBay (takich jak PHP, Node.js, Python, Go, Java, bazy danych itd.), możesz także uruchamiać oraz zarządzać swoimi stronami i usługami w kontenerach Docker. Ta metoda gwarantuje dużą elastyczność, izolację środowiska oraz spójność – idealnie sprawdza się przy projektach wymagających specyficznych konfiguracji bądź zależności.
W tym artykule szczegółowo opisano, jak dodać stronę opartą na kontenerze Docker do ServBay i płynnie zintegrować ją ze swoim lokalnym procesem developerskim za pomocą funkcji reverse proxy.
Przegląd
Konfigurując ServBay jako reverse proxy, możesz przekierować żądania na wskazaną domenę do usługi działającej w kontenerze Docker na określonym porcie. ServBay zarządza ruchem przychodzącym (np. certyfikaty HTTPS, DNS), natomiast Docker odpowiada za uruchomienie Twojej aplikacji. Taki model łączy wygodny interfejs ServBay z potęgą konteneryzacji Docker.
Poniżej znajdziesz krok po kroku instrukcję dodawania i konfiguracji strony działającej w kontenerze Docker w ServBay.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że spełniasz następujące kryteria:
- ServBay zainstalowany i uruchomiony: ServBay został pomyślnie zainstalowany i uruchomiony na Twoim macOS.
- Docker zainstalowany i uruchomiony: Docker Desktop lub inne środowisko Docker jest aktywne na macOS i działa prawidłowo.
- Gotowy obraz i kontener Docker: Obraz Docker z Twoją stroną lub aplikacją został utworzony bądź pobrany, a uruchomienie kontenera jest możliwe.
Szczegółowa instrukcja dodawania strony
Krok 1: Uruchomienie kontenera Docker
Najpierw upewnij się, że Twój kontener Docker działa, a usługa wewnętrzna (np. serwer WWW) nasłuchuje na odpowiednim porcie, który jest wystawiony na Twój system macOS za pomocą mechanizmu mapowania portów Docker.
Przykład: jeśli masz prosty kontener Nginx, nasłuchujący na porcie 80, uruchom go poleceniem, które mapuje ten port w kontenerze na port 8080 w systemie macOS:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
W tym przypadku Nginx wewnątrz kontenera my-nginx-servbay
nasłuchuje na porcie 80
, natomiast dzięki parametrowi -p 8080:80
port ten jest widoczny w systemie macOS jako 8080
. Teraz ServBay będzie się łączył właśnie z tym portem.
W zależności od Twojej aplikacji oraz pliku Dockerfile dopilnuj, by usługa była aktywna na właściwym porcie i był on prawidłowo zmapowany.
Krok 2: Uruchom interfejs zarządzania ServBay
Odnajdź ikonę aplikacji ServBay
w folderze programów na macOS i uruchom interfejs zarządzający ServBay.
Krok 3: Przejdź do sekcji zarządzania stronami
Po uruchomieniu ServBay zobaczysz ekran główny. Po lewej stronie znajdziesz menu nawigacyjne – kliknij opcję Strony
, aby wejść na panel zarządzania oraz konfiguracji lokalnych stron.
Ilustracja: Kliknij „Strony” w menu po lewej, aby przejść do panelu zarządzania.
Krok 4: Dodaj nową stronę
Na dole panelu zarządzania stronami zobaczysz przycisk +
. Kliknij go – po prawej pojawi się nowy formularz służący do wprowadzenia danych konfiguracyjnych nowej strony.
Ilustracja: Kliknij „+” na dole strony, aby dodać nową witrynę.
Krok 5: Skonfiguruj ustawienia strony
W nowym formularzu wpisz następujące kluczowe informacje:
- Nazwa (Name): Nazwij stronę w sposób łatwy do rozpoznania, np.
Docker Nginx Demo
. Nazwa ta służy tylko do celów zarządzania w ServBay. - Domena (Domain): Podaj lokalną nazwę domeny, pod jaką chcesz uruchamiać stronę w przeglądarce. Zaleca się używać końcówki
.servbay.demo
, np.docker.servbay.demo
, by unikać konfliktów z publicznymi domenami. ServBay automatycznie zaktualizuje plik hosts i przypisze ją do127.0.0.1
. - Protokół (Protocol): Wybierz obsługiwany protokół strony – zwykle pozostaw domyślne ustawienie
HTTP/HTTPS
. ServBay obsłuży zarówno porty HTTP (80), jak i HTTPS (443), odpowiednio zarządzając połączeniami SSL. - Tryb żądania certyfikatu SSL (SSL Certificate Request Method): Zalecana opcja to
ServBay CA
. ServBay automatycznie wygeneruje oraz będzie zarządzać certyfikatem SSL podpisanym przez ServBay User CA. Po instalacji ServBay Public CA w systemowym pęku kluczy, przeglądarka zaufa lokalnym certyfikatom, umożliwiając wygodne testowanie HTTPS. Możesz również wybraćACME
(np. dla Let's Encrypt) lubCustom
, jeśli posiadasz własny certyfikat. - Typ strony (Website Type): [Kluczowe!] Wybierz
Reverse Proxy
. To oznacza, że ServBay będzie wejściem dla tej domeny, przesyłając żądania do wskazanego backendu. - Adres IP (IP Address): Wprowadź adres IP hosta, na którym nasłuchuje usługa Docker. W większości przypadków będzie to lokalny adres
127.0.0.1
. - Port (Port): Podaj port wystawiony przez kontener Docker na hostcie – ten, który został wskazany w komendzie uruchamiającej (
docker run -p <host_port>:<container_port>
). Jeśli używałeś-p 8080:80
, wpisz8080
.
Ilustracja: Wypełnij dane konfiguracyjne reverse proxy dla Docker.
Krok 6: Zapisz konfigurację
Po wprowadzeniu wszystkich niezbędnych danych kliknij przycisk Dodaj (Add)
na dole formularza.
ServBay automatycznie utworzy odpowiednie reguły reverse proxy w swoim serwerze WWW (np. Caddy lub Nginx), zaktualizuje plik hosts, by wskazywał na wybraną domenę.
Po pomyślnym zapisaniu konfiguracji ServBay może przez chwilę ją aplikować – po zakończeniu możesz próbować otworzyć dodany adres.
Krok 7: Przeglądaj stronę i korzystaj z szybkich akcji
Gdy strona została dodana, zobaczysz nowy wpis w liście stron w panelu – upewnij się, że status jest „Uruchomiony”.
Teraz możesz wejść na skonfigurowaną domenę (np. http://docker.servbay.demo
lub https://docker.servbay.demo
) w przeglądarce. Jeśli wszystko jest poprawnie ustawione, ServBay skieruje ruch do usługi w kontenerze Docker i wyświetli jej zawartość.
Przy wpisie strony znajdziesz dodatkowe szybkie akcje:
- Otwórz katalog strony w IDE: (W przypadku strony typu reverse proxy przycisk może nie być dostępny lub kierować do katalogu konfiguracyjnego ServBay – zależy od wersji i ustawień.)
- Otwórz stronę w przeglądarce: Szybkie otwarcie URL w nowej karcie.
- Przeglądaj logi strony: Dostęp do logów dostępu i błędów, przydatnych do diagnostyki.
- Wstrzymaj/aktywizuj stronę: Tymczasowo aktywuj lub dezaktywuj konfigurację reverse proxy.
- Usuń stronę: Skasuj konfigurację strony w ServBay.
Ilustracja: Szybkie akcje dostępne w liście stron ServBay.
Ważne wskazówki i dobre praktyki
- Status kontenera Docker: Upewnij się, że docelowy kontener Docker zawsze jest uruchomiony, w przeciwnym razie ServBay nie przekaże żądań.
- Mapowanie portów: Starannie zweryfikuj konfigurację portów Docker (
-p
) oraz port podany w ServBay, a także czy nie jest on zablokowany przez inne programy. - Firewall: Sprawdź ustawienia zapory sieciowej w macOS – porty używane przez ServBay (domyślnie 80, 443) i port wystawiony przez Docker muszą być dostępne.
- Tryb sieciowy Docker: Najprostszym rozwiązaniem jest użycie domyślnego trybu sieci bridge z mapowaniem portów. Przy trybie
host
ServBay łączy się bezpośrednio z portem nasłuchującym w kontenerze (np. 80) – osobno zwróć uwagę na potencjalne konflikty portów. - ServBay CA: Zainstalowanie ServBay Public CA pozwala na pełne zaufanie lokalnym certyfikatom SSL oraz uniknięcie ostrzeżeń w przeglądarce podczas pracy z HTTPS.
FAQ: Najczęstsze pytania i rozwiązywanie problemów
Q: Strona jest nieosiągalna po dodaniu, przeglądarka pokazuje błąd połączenia lub timeout?
A: Postępuj według poniższych kroków diagnostycznych:
- Sprawdź status strony w ServBay: Upewnij się, że wpis jest aktywny („Uruchomiony”) w panelu zarządzania stronami.
- Zweryfikuj działanie kontenera Docker: W terminalu użyj
docker ps
, by sprawdzić, czy kontener jest uruchomiony. - Sprawdź konfigurację portów Docker: Wykonaj
docker ps
, zwróć uwagę na sekcjęPORTS
(np.0.0.0.0:8080->80/tcp
albo127.0.0.1:8080->80/tcp
) – port powinien zgadzać się z tym podanym w ServBay. - Zweryfikuj usługę wewnątrz kontenera: Upewnij się, że serwer WWW (np. Nginx, Apache, Node.js) w kontenerze nasłuchuje na właściwym porcie i nie występują błędy. Sprawdź logi:
docker logs <nazwa lub ID kontenera>
. - Przejrzyj logi ServBay: Kliknij ikonę logów w liście stron, aby podejrzeć logi dostępu i błędów – znajdziesz tam szczegóły dotyczące błędów w przekierowaniu.
- Sprawdź plik hosts: ServBay powinien zaktualizować go automatycznie, ale ręcznie możesz podejrzeć
/etc/hosts
i zweryfikować skierowanie domeny na127.0.0.1
. - Firewall: Upewnij się, że firewall nie blokuje portów używanych przez ServBay ani Docker.
Q: Czy ServBay umożliwia zarządzanie kontenerami Docker?
A: ServBay służy do zarządzania lokalnymi usługami WWW, bazami danych, środowiskami programistycznymi oraz ruchu – w tym do przekierowywania do usług Docker. Nie obsługuje zarządzania cyklem życia kontenerów Docker (start/stop, budowanie obrazów itd.) – te operacje należy wykonać narzędziami Docker, jak terminal czy Docker Desktop.
Q: Czym jest ServBay CA i dlaczego zaleca się jej instalację?
A: ServBay CA (Certificate Authority) to mechanizm zarządzania certyfikatami SSL dla lokalnych stron w ServBay. ServBay User CA podpisuje certyfikaty SSL dla lokalnych domen, a ServBay Public CA stanowi nadrzędny certyfikat – po zainstalowaniu go w pęku kluczy systemowych oraz przeglądarkach te będą ufać wszystkim lokalnym certyfikatom. Eliminujesz w ten sposób ostrzeżenia o niezaufanym połączeniu, co jest niezbędne do testowania HTTPS lokalnie w warunkach zbliżonych do produkcyjnych.
Podsumowanie
Dodanie strony obsługiwanej przez kontener Docker w ServBay to wydajny, elastyczny sposób na lokalny rozwój webowy. ServBay pełni tu rolę centralnego węzła dla ruchu i zarządzania domenami, zaś Docker umożliwia izolację i kontrolę środowiska aplikacji. Konfigurując reverse proxy, płynnie zintegrujesz dowolne projekty oparte o Docker ze swoim workflow w ServBay. Postępując zgodnie z opisanymi krokami oraz wskazówkami bez trudu uruchomisz i będziesz zarządzać lokalną stroną w kontenerze Docker.