Существует Linux сервер, на котором крутится Apache, PHP, MySQL, GitLab, Shiny. На этот сервер по ssh постоянно ходят разработчики и используют его как песочницу (начиная от расчетных скриптов, заканчивая frontend-ом). Текущий backup делается скриптом на bash и упаковывается в tgz. Проблемы:
- Потребность постоянно держать актуальным список файлов для backup-а;
- Развертывание приложения из backup-а не будет быстрым (больше часа уже критично);
- Как следствие из предыдущего пункта, плохая переносимость.
Ищу решения, нравится идея запаковать все в Docker контейнер. Взять официальный базовый image Ubuntu и настроить внутри него ssh, LAMP, и т.д. А backup-ы делать docker commit и docker push по cron-у. В качестве версии указывать текущую дату и время. Смущает то, что могут быть подводные камни использования docker-а, которые сложно предугадать. (Например, недавно разворачивал WordPress в Docker-е, оказалось что «WordPress saves the last IP as its ‘Home’ and ‘Site’ URL.». В итоге на другой машине с другим ip wordpress пытался загрузить css/js с ip старого host-а).
Чем плох или хорош такой сценарий использования Docker-а? Какие существуют альтернативные решения для backup-а?