Всем привет. Расскажу немного предыстории.
Я веб-разработчик. В основном в качестве рабочей системы использую Linux. Практически в любом дистрибутиве есть свой lamp стек, который довольно просто устанавливается и конфигурируется.
Проекты разные, поэтому мне приходится иметь 3 версии php. 7.4, 8.0, 8.1. Недавно была ситуация когда пришлось ставить древнее ископаемое на php5.5. В моем дистрибутиве этого пакета нет, поэтому ставил
devilbox, так как пока с докером желания работать не было.
Немного получив опыта с devilbox я понял, что это лютая какаха. Например, я не смог воспользоваться командой mysql -u -p для входа в mysql из его контейнера. Одновременно несколько версий php там не живут, нужно изменить конфиг devilbox и запустить docker compose.
После всех танцев с бубнами у меня появилось пара тройка вопросов, гугление не дало точного ответа. Надеюсь тут мне промоют мозги.
1. Могу ли я не заниматься изоляцией того, что в целом не должно быть изолировано?
Я хочу создать docker контейнер с чистой, серверной ubuntu и установить все через apt с последующей конфигурацией. Например, установить Apache, Mysql, php-fpm7.4, php-fpm8.0, php-fpm8.1, git, composer. Будет ли нормальный доступ к этому стеку через терминал. Будет ли работать внутри systemd.
1.1 Реализуемо ли это в рамках одного контейнера?
1.2 Можно это как то упаковать что бы таскать с собой в разные дистрибутивы и радоваться?
2. Могу ли я пробросить конфиги и файлы проектов в хост систему?
3. Будет ли это действо сильно тормознее работать чем в нативе?
В целом от докера я ожидаю мобильности, что бы не заниматься настройкой рабочего окружения каждый раз. Но в интернете только мануалы как сделать, а это вопрос далеко не первый.
То есть как настроить докер под какой-нибудь вордпресс вопрос понятный. Я же хочу создать для себя рабочее окружение для хоста своих локальных проектов, которые требуют разные версии php. Заранее спасибо!