---
title: 'Як встановити Nginx в Docker-Compose | Zomro'
description: 'Як встановити Nginx за допомогою Docker Compose на хостовому сервері та налаштувати його, щоб можна було переглядати файл index.html у браузері на порту 9999.'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677427953_3.png'
---

![opened image]()

  * [Zomro](https://zomro.com/ua/)
  * [FAQ](https://zomro.com/ua/blog/faq/)
  * Як встановити Nginx в Docker-Compose 



# Як встановити Nginx в Docker-Compose

26-02-2023

У цій статті ми розглянемо, як встановити Nginx за допомогою Docker Compose на хостовому сервері та налаштувати його таким чином, щоб можна було переглядати файл index.html у браузері на порту 9999.

##   
  
**Встановлення Docker і Docker Compose**

  
  
Перш ніж почати, переконайтеся, що у вас встановлені Docker і Docker Compose на вашому хостовому сервері. Якщо вони ще не встановлені, ви можете встановити їх, дотримуючись інструкцій [Docker для Centos 7](https://zomro.com/rus/blog/faq/287-kak-ustanovit-docker-na-centos-7) і для [Ubuntu 20.04](https://zomro.com/rus/blog/faq/286-kak-ustanovit-docker-na-ubuntu-2004) і Docker Compose.  
  
  


## **Створення файлу index.html на хостовому сервері**

  
  
Першим кроком необхідно створити файл index.html на хостовому сервері. Ми будемо використовувати його для демонстрації Nginx, коли ми його запустимо в контейнері Docker. Ви можете створити цей файл у будь-якому місці на хостовому сервері, де у вас є права доступу для запису. У цьому прикладі ми створимо його в директорії **/var/www/html**.  
  
Виконайте наступну команду, щоб створити директорію та перейти в неї:  

    
    
    mkdir -p /var/www/html && cd /var/www/html

  
Створимо файл index.html
    
    
    vim index.html

  
Вставимо в нього нижче наведений код:
    
    
    <!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>
    

  
![Як встановити Nginx в Docker-Compose - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677427953_3.png)

Збережіть файл у будь-якому зручному для вас місці на хостовому сервері. У даному прикладі ми збережемо файл у директорії /var/www/html.  
  
  


### **Створення файлу docker-compose.yaml**

  
  
Нам потрібно створити файл docker-compose.yaml, в якому визначається контейнер Nginx і його конфігурація. Цей файл можна створити у будь-якому місці на хостовому сервері, де у вас є права доступу для запису. У цьому прикладі ми створимо його в директорії /opt/nginx.  
  
Виконайте наступну команду, щоб створити директорію та файл:
    
    
    mkdir -p /opt/nginx && cd /opt/nginx
    
    
    vim /opt/nginx/docker-compose.yaml

  
Додайте наступний вміст у файл docker-compose.yaml:
    
    
    version: '3'
    
    services:
      nginx:
        image: nginx:latest
        ports:
          - "9999:80"
        volumes:
          - /var/www/html:/usr/share/nginx/html
        restart: always
    

  
![Як встановити Nginx в Docker-Compose - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677427956_4.png)

Де:  
  
**services -** визначає список сервісів, які ми хочемо запустити за допомогою Docker Compose.  
**nginx -** є ім'ям сервісу, який ми хочемо запустити.  
**image -** визначає Docker образ, який ми хочемо використовувати. У даному випадку ми використовуємо офіційний образ Nginx, який позначений тегом latest.  
**ports -** визначає маппінг портів між хостовою машиною і контейнером. У даному випадку ми маппимо порт 9999 на хостовій машині на порт 80 в контейнері.  
**volumes -** визначає том, який ми хочемо використовувати для зберігання даних всередині контейнера. У даному випадку ми монтуємо директорію /var/www/html на хостовій машині в директорію /usr/share/nginx/html в контейнері.  
**restart -** визначає, чи повинен Docker автоматично перезапускати контейнер, якщо він зупинився. У даному випадку ми вказуємо, що контейнер завжди повинен перезапускатися.  
  


### **Запуск Docker Compose**

  
  
Тепер ми готові запустити контейнер Nginx за допомогою Docker Compose. Для цього виконайте наступну команду з директорії, де знаходиться файл **docker-compose.yaml** :
    
    
    docker-compose up -d
    

  
![Як встановити Nginx в Docker-Compose - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677428148_5.png)

Ця команда запустить контейнер Nginx у фоновому режимі та виведе його ID.  
  
Перевірити, чи запущений даний контейнер, можна командою:
    
    
    docker-compose ps

  
![Як встановити Nginx в Docker-Compose - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677428433_6.png)  


### **Перевірка роботи Nginx**

  
  
Тепер ми можемо перевірити роботу Nginx, відкривши веб-браузер і перейшовши на адресу http://<адреса хостового сервера>:9999. У нашому прикладі це буде **http://IP:9999**.  
Якщо все налаштовано правильно, ви повинні побачити сторінку "**Hello, Nginx!** ".  
  
![Як встановити Nginx в Docker-Compose - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1677428745_7.png)

Це все! Тепер ви можете використовувати Docker Compose для керування контейнерами Nginx та інших додатків на вашому хостовому сервері.   


Також пропонуємо вам інші корисні статті:

  * [List of important commands for working with Docker-compose](https://zomro.com/blog/faq/304-spisok-vazhnyh-komand-dlja-raboty-s-docker-compose)
  * [How to install Nginx in Docker-Compose](https://zomro.com/blog/faq/317-kak-ustanovit-nginx-v-docker-compose)
  * [How to Deploy Any Version of PHP in Docker-Compose](https://zomro.com/blog/faq/348-how-to-deploy-any-version-of-php-in-docker-compose-for-beginners)



Схожі статті

[Знімки Cloud VPS: як створити, відновити та перенести сервер](https://zomro.com/ua/blog/articles/645-cloud-vps-snapshots-how-to-create-restore-and-migrate-a-server) [Сканування на віруси на Linux-сервері](https://zomro.com/ua/blog/faq/716-virus-scanning-on-linux-maldet) [Ядра серверів Minecraft Java](https://zomro.com/ua/blog/faq/332-minecraft-java-server-cores) [Доступ по FTP до папки сайту на сервері з панеллю Hestia](https://zomro.com/ua/blog/faq/224-dostup-po-ftp-k-papke-sajta-na-servere-s-panelju-hestia) [Підключення до сервера Windows по RDP (Віддалений робочий стіл)](https://zomro.com/ua/blog/faq/685-connecting-to-a-windows-server-via-rdp-remote-desktop)

[ Premium Cloud VPS від €7.95/міс ](/ua/vps)
