2024-05-11 12:38 Czas czytania: 8 min
Linux +1

Jak uruchomić Nginx w kontenerze Docker na Ubuntu 22.04

Nginx, znany ze swojej wydajności, to serwer HTTP oraz serwer proxy, który doskonale radzi sobie z obsługą dużego ruchu internetowego. Jest wszechstronny – potrafi serwować zarówno statyczne, jak i dynamiczne treści, a jego zaawansowane funkcje obejmują równoważenie obciążenia, buforowanie oraz przekierowywanie adresów URL. Umieszczenie Nginx w kontenerze Dockera to krok w stronę izolacji, łatwiejszego przenoszenia i wygodniejszego zarządzania aplikacją.

Ten poradnik poprowadzi Cię przez proces uruchamiania serwera Nginx w kontenerze Docker na systemie Ubuntu 22.04.

Niezbędne Elementy

  • Serwer z systemem Ubuntu 22.04 i uprawnieniami administratora (root).
  • Zainstalowany Docker.

Instalacja i Konfiguracja Nginx w Kontenerze

Instalacja Nginx w Systemie

Zacznij od zainstalowania Nginx w systemie operacyjnym, używając poniższych komend:

sudo apt update
sudo apt install nginx

Tworzenie Pliku Dockerfile

W wybranym katalogu utwórz plik o nazwie Dockerfile:

sudo nano Dockerfile

Wklej do niego następującą konfigurację:

FROM nginx:latest
COPY ./default.conf /etc/nginx/conf.d/default.conf

Warto zwrócić uwagę, że default.conf jest nazwą pliku konfiguracyjnego Nginx. Jeśli używasz innego nazewnictwa, zmień je w poleceniu COPY.

Uruchomienie Kontenera

Zbuduj obraz Dockera, używając następującej komendy:

sudo docker build -t nginx .

Następnie, uruchom kontener Nginx:

sudo docker run -d --name nginx -p 80:80 nginx
  • -d uruchamia kontener w tle.
  • --name nginx nadaje kontenerowi nazwę "nginx".
  • -p 80:80 przekierowuje port 80 kontenera na port 80 hosta.

Konfiguracja Zapory Sieciowej

Jeżeli na serwerze działa zapora, otwórz port 80, aby umożliwić dostęp do Nginx:

sudo ufw allow 80

Weryfikacja Działania Nginx

Sprawdź, czy Nginx działa poprawnie, wykonując poniższe kroki:

  • Otwórz przeglądarkę i wpisz adres URL http://localhost.
  • Powinna pojawić się domyślna strona powitalna Nginx.

Zmiana Konfiguracji Nginx

Aby zmodyfikować konfigurację Nginx, wykonaj kolejno poniższe kroki:

  1. Zatrzymaj kontener: sudo docker stop nginx.
  2. Edytuj plik default.conf w katalogu roboczym.
  3. Zaktualizuj obraz: sudo docker build -t nginx ..
  4. Uruchom ponownie kontener: sudo docker run -d --name nginx -p 80:80 nginx.

Zarządzanie Kontenerem

Wyświetlanie Kontenerów

Aby zobaczyć listę uruchomionych kontenerów, użyj:

sudo docker ps

Zatrzymywanie Kontenera

Kontener Nginx zatrzymasz, wpisując:

sudo docker stop nginx

Usuwanie Kontenera

Aby usunąć kontener Nginx, użyj:

sudo docker rm nginx

Usuwanie Obrazu

Obraz Nginx usuniesz za pomocą komendy:

sudo docker rmi nginx

Konfiguracja Protokołu HTTP/2

W celu włączenia obsługi HTTP/2 w Nginx, wykonaj poniższe kroki:

  • Zainstaluj bibliotekę OpenSSL: sudo apt install libssl-dev.
  • Zbuduj obraz Dockera, używając zmodyfikowanego pliku Dockerfile:
FROM nginx:latest
RUN apt-get update && \
    apt-get install -y libssl-dev && \
    apt-get clean
COPY ./default.conf /etc/nginx/conf.d/default.conf
  • Uruchom ponownie kontener Nginx.
  • Konfiguracja SSL/TLS

    Aby zabezpieczyć połączenie, skonfiguruj SSL/TLS w Nginx:

    • Wygeneruj certyfikat i klucz: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout nginx.key -out nginx.crt.
    • W pliku default.conf dodaj poniższe sekcje:
    listen 443 ssl;
    ssl_certificate /path/to/nginx.crt;
    ssl_certificate_key /path/to/nginx.key;
    
  • Uruchom ponownie kontener.
  • Podsumowanie

    Uruchomienie Nginx w kontenerze Docker na systemie Ubuntu 22.04 zapewnia wiele korzyści, takich jak izolacja, przenośność i uproszczone zarządzanie. Ten poradnik szczegółowo omówił proces instalacji, konfiguracji i uruchomienia kontenera Nginx. Dostosuj konfigurację do swoich potrzeb i pamiętaj o właściwym zarządzaniu kontenerem. Wykorzystaj potęgę konteneryzacji Dockera, aby twoje aplikacje działały sprawniej i wydajniej.

    Najczęściej Zadawane Pytania

    1. Czym jest Docker? Docker to platforma do konteneryzacji, która umożliwia pakowanie i uruchamianie aplikacji w odizolowanych środowiskach (kontenerach).
    2. Jakie korzyści płyną z używania kontenerów Docker? Kontenery Docker gwarantują izolację, przenośność, łatwość wdrażania i spójność środowiska.
    3. Jak zainstalować Docker na Ubuntu? Użyj kolejnych poleceń: sudo apt update, sudo apt install curl, curl -fsSL https://get.docker.com -o get-docker.sh, sh get-docker.sh, sudo systemctl start docker.
    4. Jak zbudować obraz Docker? W katalogu zawierającym Dockerfile wpisz: docker build -t NAZWA_OBRAZU ..
    5. Jak uruchomić kontener Docker? Uruchom polecenie: docker run -d -p HOST_PORT:KONTENER_PORT NAZWA_OBRAZU.
    6. Jak sprawdzić działanie Nginx? Wpisz w przeglądarce adres: http://localhost.
    7. Jak modyfikować konfigurację Nginx w kontenerze? Zatrzymaj kontener, zmień default.conf, zaktualizuj obraz i uruchom kontener.
    8. Jak skonfigurować HTTP/2? Zainstaluj OpenSSL, przebuduj obraz i uruchom ponownie kontener.
    9. Jak ustawić SSL/TLS? Wygeneruj certyfikat i klucz, zmodyfikuj default.conf i uruchom ponownie kontener.
    10. Jak zarządzać kontenerami? Używaj poleceń: docker ps, docker stop, docker rm i docker rmi.
    Anna Nowak
    Autor
    Polska

    Tworzy zwięzłe wyjaśnienia, zamieniając złożone tematy w praktyczne wnioski.

    Poprzedni artykuł
    Ekran powitalny Androida
    Następny artykuł
    Jak wykonać kopię zapasową i przywrócić klaster Kubernetes za pomocą TrilioVault dla Kubernetes