No video

Yii2 in Docker: setting up a web server, installing Yii in a container

  Рет қаралды 4,228

DanilovCode - Уроки PHP, Yii2

DanilovCode - Уроки PHP, Yii2

Күн бұрын

Пікірлер: 61
@danilovcode
@danilovcode Жыл бұрын
Есть еще один способ очень быстро развернуть yii2 в контейнере. Кто знает?
@danilovcode
@danilovcode Жыл бұрын
Вот такой простой и быстрый способ поднять приложение yii2 в докере kzbin.info/www/bejne/bXvZgoWgZZJsn5I
@inna_raznaya
@inna_raznaya 6 ай бұрын
Отличное видео, всё очень понятно и по делу. Но я по крайней мере хоть немного по теме подготовлена, а вот те кто ничего про докер не знает явно должны немного базу подтянуть прежде чем смотреть это видео. Так что большое вам спасибо!
@danilovcode
@danilovcode 6 ай бұрын
Спасибо за отзыв! Возможно учту этот момент и запишу в будущем видео для совсем новичков
@samvelkarapetyan5647
@samvelkarapetyan5647 3 ай бұрын
super
@inndim
@inndim 6 ай бұрын
Очень хорошо всё паказано, спасибо! Скажите пожалуйста, в linux ведь docker можно запустить только из-под root, а у вас в видео вроде обычный пользователь, или вы его сделали рутом?
@danilovcode
@danilovcode 6 ай бұрын
Докер по-умолчанию запускает контейнеры от рута. Но управление можно осуществлять от любого пользователя, добавленного в группу docker. Просто добавьте вашего пользователя в группу: sudo usermod -aG docker your_username
@inndim
@inndim 6 ай бұрын
@@danilovcode Понял, спасибо большое за подробности.
@mixdevuz
@mixdevuz 7 ай бұрын
Огромное спасибо вам за видео. Как по мне у вас самое лучшее объяснение установки приложения php в Docker . Единственный вопрос : В compose.yml вы не прописываете version "*", это разве не объязательно прописывать?
@danilovcode
@danilovcode 7 ай бұрын
Спасибо за отзыв! Параметр version считается устаревшим и оставлен для обратной совместимости. При его указании он игнорируется новыми версиями композа и может использоваться в информативных целях, чтобы вы сами знали какой набор возможностей был использован в yml файле. Докер же сам теперь определяет используемый набор возможностей по спецификации, которую можно найти на оф. сайте докера
@vova_dev
@vova_dev 10 ай бұрын
Классное видео! docker compose почему-то не через дефис в видео.
@danilovcode
@danilovcode 10 ай бұрын
Спасибо! Все верно - compose теперь это плагин к утилите docker, вместо прежней отдельной утилиты docker-compose. И говорят, что docker-compose теперь тоже просто напросто вызывает docker с плагином compose
@alexandr9900
@alexandr9900 Жыл бұрын
а как подключится к базе данных? Раз уж контейнер с mysql подняли, так ведь надо объяснить, как его использовать. Почему в контейнере mysql не прописаны порты? Может еще надо добавить контейнер типа PhpMyAdmin, для администрирования бд?
@danilovcode
@danilovcode Жыл бұрын
В качестве хоста указывайте имя контейнера (параметр container_name). Порты в mysql нужно пробрасывать только если планируете использовать доступ к базе извне, то есть с хостовой машины, а так для других контейнеров у mysql открыт стандартный порт 3306. Управление таблицами и данными в yii обычно производится с помощью миграций, но можно и добавить phpmyadmin, либо пробросить порты и использовать, например, phpstorm-овский клиент для баз данных.
@danilovcode
@danilovcode Жыл бұрын
Подробнее про mysql в докере в этом ролике было: kzbin.info/www/bejne/h2GyqHiBqdOWhsU Для yii все по аналогии точно также работает.
@mailforigo
@mailforigo 7 ай бұрын
@@danilovcode вот тут очень хотелось бьі наглядности
@user-zt3zw1pv5x
@user-zt3zw1pv5x 4 ай бұрын
Так, насчёт команд RUN А если у нас не deb дистрибутив? Прописывать команды установки в зависимости от дистра? Интересно как-то. Получается мы это сможем запустить только на Убунту и подобных дистрах? Или там своя виртуалка в Докере? Тогда в чём цимес контейнеров вообще не ясно
@danilovcode
@danilovcode 4 ай бұрын
Докер устанавливается на любые linux дистрибутивы и все образы будут одинаково работать. Для винды и мака есть docker desktop с виртуалкой
@user-zt3zw1pv5x
@user-zt3zw1pv5x 4 ай бұрын
@@danilovcode Разобрался, всё поднял по вашему уроку и дополнительно пропылесосил документации. Спасибо)
@user-qc2zt8eo6s
@user-qc2zt8eo6s 6 ай бұрын
Спасибо. Урок хороший, но почему то контейнер с mysql постоянно перезапускается так что даже к терминалу контейнера не получается подключиться 🥲
@danilovcode
@danilovcode 6 ай бұрын
Спасибо за отзыв! Смотрите логи контейнера. Наверняка какая-то ошибка там
@user-qc2zt8eo6s
@user-qc2zt8eo6s 6 ай бұрын
@@danilovcodeСпасибо за ответ. Получилось посмотреть логи и тут такая ошибка: [InnoDB] Cannot create redo log files because data files are corrupt or the database was not shut down cleanly after creating the data files. [InnoDB] Plugin initialization aborted with error Generic error.
@danilovcode
@danilovcode 6 ай бұрын
Скиньте yml конфиг композа который вы используете и текст этой ошибки в группу телеграм t.me/danilovcodechat, попробуем разобраться
@mailforigo
@mailforigo 7 ай бұрын
для работьі необходимо подключиться к БД. Покажите как делается. Пока получаем ошибки, хотя миграции проходят. Но иде-шку настроить или mysql-workbench не получается((
@danilovcode
@danilovcode 7 ай бұрын
Подробнее про докер тут: kzbin.info/www/bejne/h2GyqHiBqdOWhsU - здесь мы phpmyadmin добавили в compose. Тут про подключение к mysql из phpstorm: kzbin.info/www/bejne/a2eWf2mbj7-CbpI
@vviktor72
@vviktor72 11 ай бұрын
Доброго времени при создании проекта с помощью composer ошибка Permission denied файлы брал с репозитория
@danilovcode
@danilovcode 11 ай бұрын
Скиньте текст ошибки. На какой конкретно файл/каталог ругается? Вы зашли в консоль контейнера или выполняете с хост-машины?
@vviktor72
@vviktor72 11 ай бұрын
@@danilovcode удаляется все что я отвечаю может почта?
@vviktor72
@vviktor72 11 ай бұрын
отослал на коммерческую почту заранее извиняюсь
@danilovcode
@danilovcode 11 ай бұрын
> Cannot create cache directory /var/www/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable Эту ошибку можно игнорировать - это кэш композера, он может и без него, а если не хочется игнорировать, то можно создать директорию .composer в каталоге рядом с yml файлом и добавить volume в yml: ./.composer:/var/www/.composer Еще один способ убрать ошибку, это запускать композер от имени root. Для этого в докерфайле уберите строку USER "1000:1000". Она нужна для для того чтобы в консоли работать от имени этого пользователя > In ProjectInstaller.php line 69: mkdir(): Permission denied А тут недостаточно прав чтобы писать в директорию с вашим приложением. С помощью утилиты id проверьте какой id у вашего пользователя на хостовой машине. Если он не 1000, то в Dockerfile нужно подставить правильное значение. Здесь также можно убрать строку USER "1000:1000", но айдишник все равно должен быть правильный, иначе композер то сработает, а вот веб-сервер работать уже не захочет.
@vviktor72
@vviktor72 11 ай бұрын
@@danilovcode был id 1001 все заработало! Спасибо
@vova_dev
@vova_dev 10 ай бұрын
Появляется ошибка: Root package 'isszz/rotate-captcha' cannot require itself in its composer.json Собрал контейнеры по приведенным примером. Пробую github проект isszz/rotate-captcha. Там есть composer. Команда composer require isszz/rotate-captcha -vvv наверное должна была подкачать зависимости. Но заканчивается приведенной ошибки. Подскажите, пожалуйста, что сделать?
@danilovcode
@danilovcode 10 ай бұрын
Похоже что вы запускаете composer require непосредственно из папки rotate-captcha, предварительно ее скачав. А нужно запускать из корневой папки вашего проекта, куда вы хотите это расширение подключить. Возможно я не прав, нужно больше контекста. Я ответил вам также в t.me/danilovcodechat - можете там продолжить беседу.
@kinofan_org
@kinofan_org 11 ай бұрын
Странный немного урок, а откуда у меня php возмется на ПК (macos), получается, что уже в самом начале невозможно идти дальше по уроку
@danilovcode
@danilovcode 11 ай бұрын
PHP у вас будет в контейнере докера. Как установить докер и что это такое, смотрите в этом уроке: kzbin.info/www/bejne/h2GyqHiBqdOWhsU
@user-pe2ll9tb8j
@user-pe2ll9tb8j 10 ай бұрын
После установки yii, команда php init возвращает "Could not open input file: init", я так понимаю для yii basic это норма? Потому что в advance "php init" работает
@danilovcode
@danilovcode 10 ай бұрын
У basic-шаблона нет команды инициализации. Он идет сразу со всеми необходимыми файлами, которые в advanced-шаблоне копируются командой init отдельно в зависимости от выбранной среды (development или production) из папки environment. В advanced это файлы точек входа (web/index.php), файлы локальной конфигурации (main-local.php) и другие.
@user-mi5jm4hj6h
@user-mi5jm4hj6h 9 ай бұрын
8:08 composer не выполняется внутри контейнера, пишет, что его нет. Вне контейнера composer есть и установлен глобально. Что можно сделать?
@danilovcode
@danilovcode 9 ай бұрын
Можно пользоваться внешним композером, но чтобы зависимости формировались правильно, нужно, чтобы версия php и снаружи контейнера и внутри была одинаковой. А можно установить композер в контейнер.
@user-mi5jm4hj6h
@user-mi5jm4hj6h 9 ай бұрын
@@danilovcode запустил из репозитория. Всё работает. Хотел связаь проет из видео по основам Docker и установкой Yii2. Но, не вышло. По какой-то причине внутрь в контейнер входил не под 1000, а под root. Ощущение, что образ Dockerfile просто не построился, соответственно ни Composer, ни user 1000 не подключились. Благодарю за оперативную обратную связь, урок и репозиторий. Всего доброго.
@danilovcode
@danilovcode 9 ай бұрын
Если еще есть желание разобраться, подключайтесь к чату t.me/danilovcodechat - напишите ваш вопрос со скринами или сходным кодом Dockerfile. Если через docker compose запускаете, то и его конфиг тоже приложите скрином или через codepad какой-нибудь. Попробуем разобраться вместе.
@user-mi5jm4hj6h
@user-mi5jm4hj6h 9 ай бұрын
@@danilovcode да, сейчас подключусь.
@user-hc5ji8qd6w
@user-hc5ji8qd6w Жыл бұрын
Ни чего не ясно. Вот я создал yii и докер у меня есть, что делать? а нихрена не ясно
@danilovcode
@danilovcode Жыл бұрын
Yii в контейнере установили или отдельно? Сайт в браузере открывается?
@soloveyptichka7
@soloveyptichka7 Жыл бұрын
будет видео с yii2-starter-kit?
@danilovcode
@danilovcode Жыл бұрын
Пока не планировал. Вроде бы там и рассказывать нечего) Просто предустановлены некоторые расширения. ничего особенного и не расскажешь. Я для себя понял, что проще поставить yii с нуля и уже к нему добавить все необходимые расширения, тем более делается это простым добавлением их в composer.json. Чем ставить стратер-киты и потом обновлять их или удалять ненужное. Но я подумаю еще, может и будет видео.
@user-zj1cb7cz3f
@user-zj1cb7cz3f 11 ай бұрын
Хелп плиз, как пофиксить Either GD PHP extension with FreeType support or ImageMagick PHP extension with PNG support is required.? Покажите еще как добавить xdebug в конфиг, спасибо Вам!
@danilovcode
@danilovcode 11 ай бұрын
В докерфайле: # php-gd dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ libpng-dev \ libjpeg-dev \ libwebp-dev \ libfreetype-dev \ libgd-dev # php-gd configure RUN docker-php-ext-configure gd --with-jpeg --with-webp --with-freetype && docker-php-ext-configure intl # php-gd install RUN docker-php-ext-install -j$(nproc) gd
@danilovcode
@danilovcode 11 ай бұрын
На счет xdebug будет отдельный ролик!
@user-zj1cb7cz3f
@user-zj1cb7cz3f 11 ай бұрын
Спасибо большое!@@danilovcode
@user-pe2ll9tb8j
@user-pe2ll9tb8j 10 ай бұрын
@@danilovcode не срабатывает
@danilovcode
@danilovcode 10 ай бұрын
@@user-pe2ll9tb8j Что не срабатывает?
The fastest way to up a project on Yii2 using Docker
2:37
DanilovCode - Уроки PHP, Yii2
Рет қаралды 1,6 М.
Docker - nginx, php-fpm, mysql, phpmyadmin. From scratch to finished website
50:07
DanilovCode - Уроки PHP, Yii2
Рет қаралды 24 М.
Violet Beauregarde Doll🫐
00:58
PIRANKA
Рет қаралды 47 МЛН
Now it’s my turn ! 😂🥹 @danilisboom  #tiktok #elsarca
00:20
Elsa Arca
Рет қаралды 11 МЛН
Секрет фокусника! #shorts
00:15
Роман Magic
Рет қаралды 60 МЛН
Dad Makes Daughter Clean Up Spilled Chips #shorts
00:16
Fabiosa Stories
Рет қаралды 6 МЛН
Connecting to a database and working with Yii2 migrations in Docker
8:28
DanilovCode - Уроки PHP, Yii2
Рет қаралды 1,1 М.
XDebug + Docker + PhpStorm: easy PHP setup and debugging
17:17
DanilovCode - Уроки PHP, Yii2
Рет қаралды 710
Запуск Nginx в контейнере Docker
20:55
Поддержка Сайтов :: Метод Лаб
Рет қаралды 14 М.
PHP улучшаем производительность: настройки PHP-FPM
20:16
Андрей Шестаков
Рет қаралды 16 М.
The NGINX Crash Course
50:53
Laith Academy
Рет қаралды 485 М.
Docker за 20 минут
21:42
suchkov tech
Рет қаралды 74 М.
Настраиваем fail2ban: защита от DoS и подбора паролей
25:49
Поддержка Сайтов :: Метод Лаб
Рет қаралды 8 М.
Violet Beauregarde Doll🫐
00:58
PIRANKA
Рет қаралды 47 МЛН