Найти в Дзене
Sovenok IT hard soft ware

Начало знакомства с Docker на примере работающего сайта (часть 2)

В предыдущей части мы рассмотрели, как создать докер-контейнеры и запустить на них сайт. Теперь мы обсудим, как можно изменять эти сайты, сохраняя их доступность для других пользователей. Итак , наша иерархия такая /home/admin/dockersite/
├── dockersite1/ # Папка для первого сайта
│ ├── index.html # Главная страница сайта
│ ├── about.html # Дополнительная страница
│ ├── styles.css # Стили для сайта
│ └── ... # Другие файлы (изображения, скрипты и т.д.)
├── dockersite2/ # Папка для второго сайта
│ ├── index.html # Главная страница сайта
│ ├── about.html # Дополнительная страница
│ ├── styles.css # Стили для сайта
│ └── ... # Другие файлы
├── nginx/ # Конфигурация Nginx
│ ├── nginx.conf # Основной конфиг Nginx
│ └── sites-available/ # Конфигурации для сайтов (опционально)
│ └── default.conf # Конфиг для балансировки
├── Dockerfile # Dockerfile для сайтов
├── requirements.txt # Зависимости (если используются)
└── docker-compose.yml # Docker Compose файл У нас есть две папки с одним и тем
Оглавление
Контейнеровоз
Контейнеровоз

Введение

В предыдущей части мы рассмотрели, как создать докер-контейнеры и запустить на них сайт. Теперь мы обсудим, как можно изменять эти сайты, сохраняя их доступность для других пользователей.

Начало

Итак , наша иерархия такая

/home/admin/dockersite/
├── dockersite1/ # Папка для первого сайта
│ ├── index.html # Главная страница сайта
│ ├── about.html # Дополнительная страница
│ ├── styles.css # Стили для сайта
│ └── ... # Другие файлы (изображения, скрипты и т.д.)
├── dockersite2/ # Папка для второго сайта
│ ├── index.html # Главная страница сайта
│ ├── about.html # Дополнительная страница
│ ├── styles.css # Стили для сайта
│ └── ... # Другие файлы
├── nginx/ # Конфигурация Nginx
│ ├── nginx.conf # Основной конфиг Nginx
│ └── sites-available/ # Конфигурации для сайтов (опционально)
│ └── default.conf # Конфиг для балансировки
├── Dockerfile # Dockerfile для сайтов
├── requirements.txt # Зависимости (если используются)
└── docker-compose.yml # Docker Compose файл

У нас есть две папки с одним и тем же сайтом — dockersite1 и dockersite2. Чтобы внести изменения в наш сайт и при этом не отключить его для пользователей, мы сделаем следующее: в файле nginx.conf закомментируем строки, которые отвечают за отображение папок с сайтом.

Сейчас, когда пользователь заходит на наш сайт, он видит сайты из обеих папок — dockersite1 и dockersite2. Эти папки балансируются nginx в соотношении 50 на 50, и пользователю неизвестно, к какому сайту он получит доступ.

Проверяем запущены ли контейнеры командной docker ps

-2

На снимке они запущены , поэтому останавливаем их docker-compose stop и закомментируем строчки в nginx.conf

-3

Затем стартуем их docker-compose up -d , и первая папка с сайтом в таком случае будет не доступна.

Это можно сделать быстрее и незаметнее для пользователя. Во время работы контейнеров мы изменяем файл nginx.conf, а затем перезагружаем контейнеры с помощью команды docker-compose restart. После этого наша папка перестанет быть видимой для пользователя.

Другие части

Часть 1

Мой канал