У меня много данных в /var/www/html
. Больше 2Гб. Теперь у меня есть возможность разместить сайт на хосте (nginx
использует / var / www / html) или я могу использовать докер.
Для пользователя докера я копирую содержимое /var/www/html
в другую папку (src/
) и я еду src/
внутри моего контейнера:
Шаги:
stop nginx
copy files /var/www/html --> xxx/src/
start docker
Копирование занимает несколько минут, поэтому есть время простоя. Это плохая идея:
copy files /var/www/html --> xxx/src/ (while nginx is running)
stop nginx
start docker
Может быть проблема?
Это полностью зависит от вашего варианта использования. Попробую описать возможные сценарии и соответствующие решения.
Если данные не меняются быстро или не увеличиваются в размере во время копирования в другое место, тогда не нужно беспокоиться о состоянии (запущен / остановлен) веб-сервера. Просто скопируйте данные, а затем переключите веб-сервер (например, с Nginx на Apache / Docker).
Если размер данных только увеличивается (а не изменяется содержимое), вы можете использовать rsync несколько раз перед переключением веб-сервера. Впервые rsync скопирует все данные (2 ГБ или что-то еще). Когда rsync запускается во второй раз, он копирует только новые данные (которые были добавлены при первом запуске rsync). В этой ситуации вам нужно остановить веб-сервер при повторном запуске rsync. Таким образом вы минимизируете время простоя. Копирование только что добавленных данных занимает гораздо меньше времени, чем копирование всех данных.
Если данные изменяются (а не увеличиваются в размерах), вам обязательно следует остановиться, скопировать и затем запустить веб-сервер.
Если данные изменяются, а также увеличиваются в размерах, вам непременно следует остановиться, скопировать и затем запустить сервер.
Каким бы ни был ваш сценарий, я настоятельно рекомендую использовать rsync, чтобы сократить время простоя, скопировав большую часть существующих данных в новое место.
Надеюсь, это поможет.