W tym artykule omówimy, jak zainstalować Nginx za pomocą Docker Compose na serwerze hosta i skonfigurować go w taki sposób, aby można było przeglądać plik index.html w przeglądarce na porcie 9999.
Instalacja Docker i Docker Compose
Przed rozpoczęciem upewnij się, że masz zainstalowane Docker i Docker Compose na swoim serwerze hosta. Jeśli nie są jeszcze zainstalowane, możesz je zainstalować, postępując zgodnie z instrukcjami Docker dla Centos 7 i dla Ubuntu 20.04 oraz Docker Compose.
Tworzenie pliku index.html na serwerze hosta
Pierwszym krokiem jest utworzenie pliku index.html na serwerze hosta. Użyjemy go do demonstracji Nginx, gdy uruchomimy go w kontenerze Docker. Możesz utworzyć ten plik w dowolnym miejscu na serwerze hosta, gdzie masz prawa zapisu. W tym przykładzie utworzymy go w katalogu /var/www/html.
Wykonaj następujące polecenie, aby utworzyć katalog i przejść do niego:
mkdir -p /var/www/html && cd /var/www/html
Utwórzmy plik index.html
vim index.html
Wstawmy do niego poniższy kod:
<!DOCTYPE html>
<html>
<head>
<title>Hello, Nginx!</title>
</head>
<body>
<h1>Hello, Nginx!</h1>
<p>This is a test page served by Nginx in a Docker container.</p>
</body>
</html>
Zapisz plik w dowolnym dogodnym dla ciebie miejscu na serwerze hosta. W tym przykładzie zapiszemy plik w katalogu /var/www/html.
Tworzenie pliku docker-compose.yaml
Musimy utworzyć plik docker-compose.yaml, w którym zdefiniowany jest kontener Nginx i jego konfiguracja. Ten plik można utworzyć w dowolnym miejscu na serwerze hosta, gdzie masz prawa zapisu. W tym przykładzie utworzymy go w katalogu /opt/nginx.
Wykonaj następujące polecenie, aby utworzyć katalog i plik:
mkdir -p /opt/nginx && cd /opt/nginx
vim /opt/nginx/docker-compose.yaml
Dodaj następującą zawartość do pliku docker-compose.yaml:
version: '3'
services:
nginx:
image: nginx:latest
ports:
- "9999:80"
volumes:
- /var/www/html:/usr/share/nginx/html
restart: always
dzie:
services - określa listę usług, które chcemy uruchomić za pomocą Docker Compose.
nginx - jest nazwą usługi, którą chcemy uruchomić.
image - określa obraz Docker, którego chcemy użyć. W tym przypadku używamy oficjalnego obrazu Nginx, oznaczonego tagiem latest.
ports - określa mapowanie portów między maszyną hosta a kontenerem. W tym przypadku mapujemy port 9999 na maszynie hosta na port 80 w kontenerze.
volumes - określa wolumin, którego chcemy użyć do przechowywania danych wewnątrz kontenera. W tym przypadku montujemy katalog /var/www/html na maszynie hosta do katalogu /usr/share/nginx/html w kontenerze.
restart - określa, czy Docker powinien automatycznie ponownie uruchomić kontener, jeśli się zatrzyma. W tym przypadku wskazujemy, że kontener zawsze powinien się ponownie uruchamiać.
Uruchomienie Docker Compose
Teraz jesteśmy gotowi uruchomić kontener Nginx za pomocą Docker Compose. Aby to zrobić, wykonaj następujące polecenie z katalogu, w którym znajduje się plik docker-compose.yaml:
docker-compose up -d
To polecenie uruchomi kontener Nginx w tle i wyświetli jego ID.
Sprawdzić, czy kontener jest uruchomiony, można za pomocą polecenia:
docker-compose ps
Sprawdzanie działania Nginx
Teraz możemy sprawdzić działanie Nginx, otwierając przeglądarkę internetową i przechodząc pod adres http://<adres serwera hosta>:9999. W naszym przykładzie będzie to http://IP:9999.
Jeśli wszystko jest poprawnie skonfigurowane, powinieneś zobaczyć stronę "Hello, Nginx!".
To wszystko! Teraz możesz używać Docker Compose do zarządzania kontenerami Nginx i innych aplikacji na swoim serwerze hosta.
Sugerujemy również inne przydatne artykuły:
- List of important commands for working with Docker-compose
- How to install Nginx in Docker-Compose
- How to Deploy Any Version of PHP in Docker-Compose