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

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/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 и других приложений на вашем хостовом сервере. 

  
Также предлагаем рассмотреть другие полезные статьи: 

  * [Список важливих команд для роботи з Docker-compose](https://zomro.com/ua/blog/faq/304-spisok-vazhnyh-komand-dlja-raboty-s-docker-compose)
  * [Как установить Nginx в Docker-Compose](https://zomro.com/rus/blog/faq/317-kak-ustanovit-nginx-v-docker-compose)
  * [Как развернуть любую версию PHP в Docker-Compose](https://zomro.com/rus/blog/faq/348-how-to-deploy-any-version-of-php-in-docker-compose-for-beginners)



  


Похожие статьи

[VestaCP: Установка Wordpress в консоли (от создания домена до получения готового сайта)](https://zomro.com/rus/blog/faq/209-vestacp-ustanovka-wordpress-v-konsoli-ot-sozdanija-domena-do-poluchenija-gotovogo-sajta) [Как сделать 301 редирект с www на без www (и наоборот)](https://zomro.com/rus/blog/faq/613-how-to-make-301-redirect-from-www-to-non-www-and-vice-versa) [Внешнее FTP хранилище: Подключение папки к Windows серверу.](https://zomro.com/rus/blog/faq/217-vneshnee-ftp-hranilische-podkljuchenie-k-serveru) [От нуля до героя: создание сервера LEMP на Rocky Linux 9](https://zomro.com/rus/blog/faq/499-from-zero-to-hero-building-a-lemp-server-on-rocky-linux-9) [ISP: Как установить nginx и включить для домена сжатие и кэширование](https://zomro.com/rus/blog/faq/77-isp-kak-ustanovit-nginx-i-vklyuchit-dlya-domena-szhatie-i-keshirovanie)

[ Premium Cloud VPS от €7.95/мес ](/rus/vps)
