Как настроить LAMP в Docker за несколько минут?
Вставка
- Опубліковано 19 сер 2024
- Простенькая инструкция для людей которым хочется программировать на PHP, но установка связки Apache + MySQL + PHP кажется слишком муторной.
Ссылка на проект из видео:
github.com/Evi...
Полезные ссылки:
- Телега: t.me/evilfreel...
- Основной канал: / @pavelzloi
- Live-канал: / @e-freelancerlivechann...
- Twitch: / evilfreelancer
- Twitter: / evilfreelancer
- GitHub: github.com/Evi...
Ссылки на Steam:
- Группа Steam: steamcommunity...
- Рекомендации куратора: store.steampow...
Сделать пожертвование:
- www.donational...
Спасибо! По этому видео наконец удалось сделать рабочую сборку apache + php + mysql.
До этого целый потратил на разные статьи по этой тематике. Постоянно какие-то фейлы были.
Очень круто. Спасибо большое за такое детальное объяснение.
Спасибо автору за видос!!!
у кого такая ошибка
ERROR: unsatisfiable constraints:
python (missing):
required by: world[python]
в 8 строчке дописываем так
python3 py3-pip
Спасибо! Возникла такая же ошибка, даже не обратил внимание сначала что проблема с питоном.
Спасибо, очень познавательно, а в моем случае и своевременно. Все повторил - все получилось почти с 1 раза (нужно было на том что уже установлено порты почистить). Просьба-пожелание к автору: Для записи подобных уроков сделайте шрифты в системе и редакторе более крупными. На видео даже на большом экране плохо читать, а с планшета вообще не представляю как смотреть будет. А так - все как подожено, лайк подписка колокольчик с меня)
Приветствую! Благодарю за комментарий, Вы наверно очень удивитесь когда узнаете, что шрифт у меня в шторме высотой 17 пикселей :) основная причина мелкого шрифта это 4к монитор (который приходится юзать в 2к режим, чтобы люди хоть что-то могли рассмотреть), но за идею большое спасибо, я попробую сделать шрифт чуть крупнее.
@@pavelzloi А мне все устраивает и все видно. Я в начале ролика думал тоже, что плохо видно, потом понял, что скорее с качеством видео не на максимум стоит, когда поменял то все стало видно.
@@pavelzloi А да вот еще у меня тоже 4к, но из-за многих программ пришлось снизить до 1980 )
отличный контент!
А будет ещё лучше, спасибо! :)
спасибо, буду пробовать)
Да не за что :) тут еще в комментариях люди писали про небольшие ошибки, я их исправил, но если вдруг что-то новое вылезло то можешь написать мне в телегу t.me/evilfreelancer
Ты супер! Мне очень помогло!
Отлично, рад что всё получилось :)
привет, а что думаешь о devilbox? там тоже на докере. правда с Марией проблемы возникили когда из phpstorm подключался, пришлось поставить старую версию mysql 5.6. для локалки мне сойдет)
Привет! Впервые слышу, но поглядел исходники и документацию, хорошая вроде штука.
Но как по мне что там слишком много автоматики, большинство параметров настраиваемых можно выкинуть из yml, ещё момоент в том что php.ini генерится при запуске, это не всегда удобно, ведь можно кучу разных опций настроить которые не были предусмотрены авторам, плюс используются кастомные контейнеры, фиг знает что там они напихали (вспомни историю про npm пакеты, которые удаляли файлы на диске в момент сборки), для локального девбокса как по мне слишком сложно.
Думаю причины появления данного проекта "потому что могу", ну а на проде его всё равно использовать нельзя, слишком много расширений включено по умолчанию, запаришься тюнить. Ну а основная идея в том, чтобы девбокс был один в один как прод, чтобы не было ситуации "работает на моей машине".
PS. Ну это моё личное мнение, в целом прикольный проект, пару финтов можно к себе в докерфайлы скопировать.
Каждый раз, на всех мануалах спотыкаюсь об фразу: "Скопируем проект, который мы раньше делали".
Я блин раньше не делал никаких ваших проектов!! Что скопируем?????
Добрый день! Благодарю за вопрос, обычно в этот момент на моих видел появляется подсказка справа сверху со ссылкой на прошлое видео о том самом проекте :)
есть же ссылка на Github автора
github.com/EvilFreelancer/docker-lamp
копируйте наздоровье))
@@pavelzloi тоже самое со словами - это мы видели в прошлом видео ) и никакого окошка. дайте плз. ссылку в описание
@@andrii_14 благодарю за предложение, постараюсь не забывать об этом на монтажке :)
Спасибо за информацию. Каким образом можно перейти к pma (переход с указыванием порта не работает)? Использую Ubuntu
Нашел решение, в композ-файле для pma необходимо прописать порты 8080:80 вместо 8080:8080
Добрый вечер! Да, Вы правы, в конфиг закралась опечатка, которую я не сразу заметил. В контейнерах с php и апачем как правило порт на котором доступно приложение 80й.
Под виндой не работает.
ERROR: Service 'php' failed to build : Invalid signal: SIGWINCH
Варианты без виртуалки обойтись есть ?
Добрый вечер, благодарю за вопрос! Странная ошибка, обычно на Windows собирается без проблем, возможно это либо какие-то особенности настройки виртуализации на Вашей машине, ну либо Docker переделали что-то под капотом.
А вообще данный проект я писал под Linux, потому как только на Linux сервис Docker раскрывается во всей красе, настоятельно рекомендую ознакомиться с данным семейством операционных систем если не доводилось пользоваться ранее.
Ещё один момент, который может сэкономить Вам время и нервы называется WSL2, это тоже виртуальная машина, но с полноценным Linux, внутри неё можно поднять Docker и попробовать настроить по инструкции.
Надеюсь мне удалось ответить на вопрос :)
@@pavelzloi Да таки настройки в Docker надо переключить Switch to Linux. На Linux со временем перейду. Спасибо за ответ =)
Добрый день. Уточните, плиз, вы в какой проге все это делаете оформляете? Я имею в виду и yml пишете и терминал тут же запускаете и из гита тут же копируете? Увидел сам - PhpStorm?
Добрый день! Благодарю за вопрос, программа называется PHPStorm разработанная компанией Jetbrains.
Она рассчитана на работу с PHP проектами, но имеет ряд плагинов расширяющих стандартные возможности, например плагин работы с консолью и плагин поддержки yml конфигов.
А ещё есть плагин валидации docker-compose конфигов, что тоже очень удобно.
Помимо PHP версии IDE у Jetbrains есть варианты IDE и для JS, Go, Java, C++, C# и так далее.
@@pavelzloi Да, спасибо, я уже почитал. Он платный, для обучения дорого. А есть варианты для работы чисто с Докер? Чтобы Гит, консоль, ямлы Ипр?
Есть бесплатная лицензия www.jetbrains.com/opensource/ активисты OpenSource могут запросить бесплатную лицензию на год.
Альтернативы есть, например VSCode, Sublime и многие многие другие, возможно не во всех будет возможность запускать оболочку терминала, а где-то не будет полноценной поддержки Docker, тут надо смотреть и выбирать, я в своё время остановился на продуктах Jetbrains и мне хорошо :)
@@pavelzloi Спасибо, посмотрю альтернативы
@@sergadm8276 VSCode хорош, я его использую, как бесплатная альтернатива она умеет много всего. В том числе поддерживает docker (доп. плагин) и многие языки программирование.
Привет, крутой видос. А можешь подсказать как сделать дополнительную парольную защиту phpmyadmin на уровне apache?
Добрый день! Прошу прощения за столько долгий ответ, да, Вы можете поставить дополнительную парольную защиту, почитайте про htpasswd а потом про то как включить использование сгенерировано файла в апаче.
@@pavelzloi Спасибо за ответ) Уже давно сделал
@@user-yp9dn1tu4j рад что у Вас всё получилось :)
Вот специально ничего не менял, кроме удаления nginx и php-fpm из docke-compose.yml
Но не вижу я phpinfo(), хоть убейся.
А вот на nging+php-fpm заработало.
Только мне, новичку, явно *столько* не нужно. Можно ли ужать скрипт php до php+xdebug+composer?
Добрый день! На операционных системах семейства windows наблюдаются проблемы с подключением директорий в виртуальную машину с контейнером.
Потому как докер на windows и macOS работает через virtualbox, полноценная реализация докера со всеми функциями доступна только на linux.
Попробуйте повторить запуск в WSL2, ну либо вручную установите Ubuntu в virtualbox, и в этой машине уже запустить нужную композицию сервисов.
@@pavelzloi да вроде он и так через WSL2 работает, саму Ubuntu я конечно не ставил, но без WSL2 Docker отказывался стартовать.
Мне вот непонятно зачем было поднимать два php контейнера в одном проэкте? Если для примера то ладно, хотя было бы логичнее делать два docker-compose, один для apache, другой для nginx. Для новичнов будет непонятно.....
А так за видос лайк!
Добрый день! Благодарю за комментарий, два сервиса в одном файле были созданы скорее для наглядности. А так то да, лучше делать по аналогии с кубернетис (изолированные сети, минимальный набор сервисов для приложения и так далее).
FIX php
RUN pecl install xdebug-2.9.0
не надо хвалить mariadb, т.к. у ней куча недостатков, но что ожидать от open source проекта. Не знаю какие утечки памяти были замечены у mysql, как по мне это полный бред..
Добрый день, благодарю за комментарий. Не уверен что я её прям уж сильно нахваливал, но лично в моей практике контейнер с MySQL работал в среднем хуже чем контейнер с MariaDB.
А так, в рабочих процессах обычно применяю HBase, так как с большими объемами данных она справляется в разы лучше обоих упомянутых выше баз.
Позтому лично мое мнение что на маленьких проектах MariaDB лучше всего подходит.
Хотя уверен что могу ошибаться и MySQL снова на коне :)
@@pavelzloi Спасибо за развёрнутый ответ
В начале как будто подстебнул пхпэшников.
Добрый день! Самоирония, куда же без неё :)
дизлайк за коприрование вставки в докер композ. Из-за изменений инфы от текущих изменений 22 года не запускаются проекты
Благодарю за комментарий, пожалуйста уточните подробности возникшей проблемы, что именно не работает?
Насчёт копирования, когда сотни раз на дню пишешь примерно одно и тоже в очередном docker-compose.yml или Helm чарте или Ansble скрипте то опять писать руками очень утомляет :)
А, всё, проблему нашёл и пофиксил, решение в master ветке.
что за отвратительные, ужасные, вопиющие гитарные запилы ты поставил на фоновый саунд