Docker - nginx, php-fpm, mysql, phpmyadmin. From scratch to finished website

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 156

  • @danilovcode
    @danilovcode  ปีที่แล้ว +22

    Пользовались ли вы Docker до просмотра урока и будете ли пользоваться после?

    • @ruden6623
      @ruden6623 ปีที่แล้ว +1

      Ну, смог запустить Nginx и Node.js, но было нифига не понятно, что я делаю. Сейчас тож не очень всё понятно, но некоторое понял. Скорее всего буду пользоваться, так как свой сайт на микросервисы переписываю, а там докер желателен, но пока не очень всё понятно

    • @ДмитрийБогданов-э5ы
      @ДмитрийБогданов-э5ы 11 หลายเดือนก่อน +1

      До просмотра урока для развертываения окружения я просто запускал контейнеры командой `docker compose up -d` и все остальное было для меня `магией`. А когда возникала ошибка, бежал к бекендерам... Теперь я более профессионально пользуюсь этим инструментом.

    • @yakut54
      @yakut54 10 หลายเดือนก่อน +1

      теперь я ещё больше во всём запутался.... Однозначно буду!!! 🦧

    • @alexdreamer11
      @alexdreamer11 10 หลายเดือนก่อน

      Имею печальный опыт пользования. Что-то не очень хочется им пользоваться, xampp для меня привычнее и удобнее

    • @danilovcode
      @danilovcode  10 หลายเดือนก่อน

      @user-zj1nn8zj8f докер используется не только для локальной разработки. К тому же у xampp очень ограниченные возможности и набор инструментов. Но лучше пользоваться тем, что вам удобнее, пока не понадобится что-то большее.

  • @be1m0nt
    @be1m0nt 4 หลายเดือนก่อน +7

    Лучшее видео по докеру что видел, а посмотрел немало. Автор сжато без воды впихнул максимум на примерах и ошибках. Побольше бы таких авторов и подобных уроков.

    • @danilovcode
      @danilovcode  4 หลายเดือนก่อน +1

      Спасибо за отзыв!

  • @zakirovdamir
    @zakirovdamir 7 หลายเดือนก่อน +3

    Спасибо, добрый человек, теперь я ОКОНЧАТЕЛЬНО все понял

  • @kllpff
    @kllpff 18 ชั่วโมงที่ผ่านมา +1

    Это просто нечто, спасибо огромное!

    • @danilovcode
      @danilovcode  18 ชั่วโมงที่ผ่านมา +1

      Спасибо за отзыв!

  • @behtold
    @behtold 7 วันที่ผ่านมา

    C докером баловался, но не до конца понимал, как связать между собой nginx, php, mySQL и PMA... Пытался даже запихать это все в один образ и вроде даже получилось... Но при первом же перезапуске что-то сломалось, что-то потерялось, разбираться было некогда, поэтому забил и забыл. В данном уроке очень многие вещи разъяснены идеально. И самое главное - приведен живой и нужный пример. Правда хотелось бы обращаться из nginx к php через sock-файл, а не по порту. Но думаю, разберусь... В общем большое спасибо. Появилось желание заюзать данную технологию в своих мини-проектах.

  • @anryan4509
    @anryan4509 ปีที่แล้ว +9

    2 года назад смотрел курс по докеру, где так же бегло пробежались, но ничего не понятно. Тут всё тоже самое, но инфа заходит сразу и понятно. Всё зависит от подачи материала и самого создателя курса) Да, годнота)

    • @danilovcode
      @danilovcode  ปีที่แล้ว +2

      Спасибо за высокую оценку!

  • @alexeyalien
    @alexeyalien 3 หลายเดือนก่อน +2

    Ролику почти год, но это лучшее что я встретил на ютубе на эту тему! Спасибо! Все отработало, как надо только мне пришлось убрать строку "name: network", она давала ошибку. Я так понял что docker обновился и теперь она не нужна (работал на MacOS).

    • @danilovcode
      @danilovcode  3 หลายเดือนก่อน +2

      Скорее всего сеть с таким именем у вас уже просто существует.
      Спасибо за отзыв!

    • @alexeyalien
      @alexeyalien 3 หลายเดือนก่อน

      @@danilovcode спасибо. Проверю

    • @alexeyalien
      @alexeyalien 3 หลายเดือนก่อน +1

      @@danilovcode Спасибо за ответ! Вы оказались правы.)

  • @AexZuy
    @AexZuy 3 หลายเดือนก่อน +2

    Самое лучшее объяснения что пока видел в рунете. Автор - красавчик, с настройками nginx пришлось конечно просто скопипастить не вникая, но по сути это и не тема этого урока.

    • @danilovcode
      @danilovcode  3 หลายเดือนก่อน

      Спасибо за отзыв!

  • @arp-rarp98
    @arp-rarp98 4 วันที่ผ่านมา +2

    Может, кому интересно, но для нормальной работы mysql нужно папку ./mysql-data удалять перед тем, как новый контейнер тестить, а потом заново её пустую создавать. Иначе, получится, что у вас будут данные старого контейнера примонтированы в новый, и, вполне возможно не будет пускать под кредами root/root или любыми другими. У меня такое было, я только на 3 день додумался выполнить docker compose down -d, sudo rm -rf mysql-data, mkdir mysql-data, docker compose up -d

    • @danilovcode
      @danilovcode  4 วันที่ผ่านมา

      Все верно. Спасибо за уточнение. Рекомендуют также совсем не прокидывать вольюм базы данных в папку проекта, а делать его именованным. Тогда, во-первых, каждый вольюм в имени будет иметь префикс названия проекта и не будет пересекаться с другими проектами, а, во-вторых его легко удалять командой docker volume rm

  • @TeddyBearPlay
    @TeddyBearPlay 5 หลายเดือนก่อน +4

    Просто лучший. Несколько дней изучал Docker. Получил разрозненные знания, который не мог собрать в кучу и запустить сервер с php и БД.
    Тут же всё разъяснено очень доходчиво. Всё разложено по полочкам.
    Автору большое спасибо)

    • @danilovcode
      @danilovcode  5 หลายเดือนก่อน

      Спасибо за отзыв!

  • @antonerogov
    @antonerogov ปีที่แล้ว +7

    Это лучшее что я видел на тему докера!

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв! По докеру скоро будут еще видео. Следите за новостями)

  • @donlinoleum831
    @donlinoleum831 7 หลายเดือนก่อน +1

    Просто концентрат полезной информации! Огромное спасибо!!!!!!!

  • @far_from_under
    @far_from_under 10 หลายเดือนก่อน +1

    Не знаю кого благодарить, за то что я нашел это урок. Но точно благодарю вас, за этот поистине великолепный урок.

    • @danilovcode
      @danilovcode  10 หลายเดือนก่อน

      Спасибо за отзыв!

  • @АндрейПопов-щ4к7ч
    @АндрейПопов-щ4к7ч 5 หลายเดือนก่อน +2

    Большое спасибо за данное видео! Стало намного понятнее, вы очень хорошо объясняете.

    • @danilovcode
      @danilovcode  5 หลายเดือนก่อน

      Спасибо за отзыв!

  • @DimaKuzmichev
    @DimaKuzmichev ปีที่แล้ว +5

    огромное спасибо за урок! до этого пользовался gui-версией докера, но теперь знаю как управляться с ним из консоли. было несколько затыков, связанных с относительными/абсолютными путями в терминале/файле yml на osx, разобрался. теория подана отлично, скорость иногда ставил на .75, масштаб информации в кадре хороший, хотя иногда приходилось ловить кадр) еще раз благодарю. лайк! подписка!

    • @danilovcode
      @danilovcode  ปีที่แล้ว +1

      Спасибо за отзыв!

    • @ЗахаровЕгений
      @ЗахаровЕгений 9 หลายเดือนก่อน +1

      Еще, можете посмотреть Portainer - это тоже докер контейнер, но запускает сервер управления докер контейнерами. Очень удобная штука, особенно когда контейнеров становится дохрена, + возможность управления докер контейнерами на разных серверах

  • @lipetskdom
    @lipetskdom 9 หลายเดือนก่อน +1

    Просто невероятное видео, полное уважения и взаимопонимания! Голос, подача материала и тд. Респект вам за труд. Это настоящий обмен знаниями. Браво! 🌟

    • @danilovcode
      @danilovcode  9 หลายเดือนก่อน

      Спасибо за отзыв!

  • @brooklyn666z2
    @brooklyn666z2 3 หลายเดือนก่อน +1

    Лучший урок на ютубе из тех что я видел!

    • @danilovcode
      @danilovcode  3 หลายเดือนก่อน

      Спасибо!

  • @YuriWorldFirst
    @YuriWorldFirst ปีที่แล้ว +7

    Спасибо большое за проделанную работу!

    • @danilovcode
      @danilovcode  ปีที่แล้ว +1

      Пожалуйста! Приятного просмотра!

  • @tatianabelchik4887
    @tatianabelchik4887 ปีที่แล้ว +1

    отличный урок. все детально объяснено. понятно что и почему там где оно есть. куча статьей пересмотрела, но там минимум теории и просто копируй строки. спасибо огромное

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв!

  • @accountyoutube7298
    @accountyoutube7298 ปีที่แล้ว +1

    Нормальная годнота, без воды типа, как скачать и запустить 2 команды hello world - сразу рабочая связка приложения построенная на контейнерах. Круто!

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо! Такие отзывы мотивируют выпускать еще более крутые ролики!

  • @jon4775
    @jon4775 4 หลายเดือนก่อน +1

    Крутой урок, особенно погравилось что про network рассказали, спасибо

    • @danilovcode
      @danilovcode  4 หลายเดือนก่อน

      Пожалуйста!

    • @jon4775
      @jon4775 4 หลายเดือนก่อน

      ​@@danilovcodeкстати обязательно задавать network в compose ? Я видел примеры где сеть не создают вообще в compose

    • @danilovcode
      @danilovcode  4 หลายเดือนก่อน

      Не обязательно. Докер компоуз сам создает общую дефолтную сеть для контейнеров. Также сеть можно создать вне компоуз-файла (docker network create), а в компоузе у сети указать параметр external (например, это может понадобиться для объединения контейнеров в сеть из нескольких компоуз-конфигураций)

  • @blackbirdchannel-c7b
    @blackbirdchannel-c7b 9 หลายเดือนก่อน +1

    Хорошее видео, очень познавательно. Спасибо.

    • @danilovcode
      @danilovcode  9 หลายเดือนก่อน +1

      Спасибо за отзыв!

  • @sergeymarchenko4204
    @sergeymarchenko4204 10 หลายเดือนก่อน +1

    Спасибо за видео! Все очень хорошо объясняется.

  • @МорковьЕнота
    @МорковьЕнота ปีที่แล้ว +4

    Спасибо большое, урок понятный и наглядный😁

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв!

  • @nedelaet
    @nedelaet 10 หลายเดือนก่อน +1

    Потрясающе! Автору спасибо

  • @MrFlagman777
    @MrFlagman777 8 หลายเดือนก่อน +1

    Большое спасибо Вам за это видео, было очень полезно!

    • @danilovcode
      @danilovcode  8 หลายเดือนก่อน

      Спасибо за отзыв!

  • @александркурдюков-й4я
    @александркурдюков-й4я ปีที่แล้ว

    Ставлю лайк, все основы в одном видео)

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв!

  • @vova_dev
    @vova_dev ปีที่แล้ว +1

    Классный видос, подача, голос!

  • @zigyias347
    @zigyias347 9 วันที่ผ่านมา

    Большое спасибо! Очень полезный контент, можно по подробнее о нетворке

    • @danilovcode
      @danilovcode  9 วันที่ผ่านมา

      Спасибо за отзыв! Возможно, будет подробнее

  • @vladpetrov91
    @vladpetrov91 ปีที่แล้ว +2

    Спасибо за урок👍

    • @danilovcode
      @danilovcode  ปีที่แล้ว +1

      Пожалуйста!

  • @eugenklass
    @eugenklass ปีที่แล้ว +1

    Подача супер! Спасибо за ваш труд. Лайк, подписка, буду смотреть.
    Еще бы про права доступа при записи в файлы )

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв!

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Что вы имеете в виду про права доступа?

  • @GreatOsmanSultan
    @GreatOsmanSultan ปีที่แล้ว +2

    Спасибо, да пользуюсь докером...

  • @sanpavlovich9726
    @sanpavlovich9726 ปีที่แล้ว +1

    Спасибо, отличное видео!

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв!

  • @rw_machine1974
    @rw_machine1974 2 วันที่ผ่านมา +1

    Привет.Прежде всего, хочу сказать спасибо за такой подробный и хорошо оформленный материал.В этом ролике, мы по факту прокинули в контейнер один файл, а если нужно разместить целое приложение на php в docker ? Мы должны также пробрасывать том с целым приложением и указывать корневую папку для index.php ? Или может для целого проекта лучше упаковывать его как-то в отдельный контейнер. Заранее извиняюсь за глупые вопросы, я новичок и пока плохо разбираюсь в этой технологии.

    • @danilovcode
      @danilovcode  2 วันที่ผ่านมา +1

      Спасибо за отзыв! Прокидывать можно целые папки если нужно. Такое делают обычно для dev-версии. На проде обычно папку проекта копируют в контейнер командой COPY в докерфайле. Урок по деплою проекта на проде скоро сделаю и выложу на канале

  • @MrChestermen
    @MrChestermen ปีที่แล้ว +1

    Очень полезно, благодарю

  • @xoxot_shamana
    @xoxot_shamana ปีที่แล้ว +2

    Годнота!

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв!

  • @sayces
    @sayces 8 หลายเดือนก่อน +1

    спс за урок!

    • @danilovcode
      @danilovcode  8 หลายเดือนก่อน

      Спс за просмотр!

  • @Nomikama
    @Nomikama 2 หลายเดือนก่อน

    Спасибо за видео. Было бы интересно посмотреть как к nginx ещё добавить apache чтобы .htaccess можно было использовать

    • @danilovcode
      @danilovcode  2 หลายเดือนก่อน +1

      Ок, возьму на заметку! Один вопрос, а вам зачем htaccess в данном случае?

    • @Nomikama
      @Nomikama 2 หลายเดือนก่อน

      ​​@@danilovcode скорее дело привычки. Обычные PHP хостинги (не vps) зачастую идут с такой связкой (nginx + apache) т.к. это позволяет конфигурировать сайт не копаясь во всем конфиге сервера, а задавая дополнительно правила через .htaccess и различные CMS используют их для своей настройки ЧПУ и т.п., что в целом облегчило бы перенос с таких хостингов в докер. Да и в целом при поиске каких-то настроек веб сервера они часто идут на примере настройки через .htaccess
      Хотя... учитывая специфику построения проекта на докере, возможно это будет не очень востребовано т.к. это больше помогает с проектами, где один веб сервер и много сайтов.

  • @manzadey
    @manzadey 10 หลายเดือนก่อน

    Спасибо)

  • @andrejfroschgeiser7777
    @andrejfroschgeiser7777 ปีที่แล้ว +2

    Господи . Какой молдец . Всё просто и понятно. все остальные уроки в корзину .
    Вопрос: Доккер äто по сути процесс и получается что для развертывания мне надо будет копировать всü структуру файловую н соответственно все файлы . В твоём промере это файл бд, конфиги и пхп . а как упаковать всё вместе .

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Спасибо за отзыв!
      Деплой можно выполнять разными способами, в том числе и копированием всех директорий привязанных волюмами. Можно использовать git push и hook с автодеплоем на стороне сервиса. Но наиболее правильным считается упаковывание сайта в отдельный docker image. Затем его можно либо выложить в реестр (свой или какой-то из публичных), а на стороне продакшена сделать pull этого образа докером и запустить, либо просто скопировать на сервер и также снова запустить докером.
      Про деплой на продакшен планируется отдельный видеоурок в ближайшее время

  • @Михаил-т4д2б
    @Михаил-т4д2б 5 หลายเดือนก่อน +1

    8:44 Завершить процесс клавишей ctrl+c

    • @danilovcode
      @danilovcode  5 หลายเดือนก่อน

      Да, все верно. Не упомянул этого в видео, спасибо

  • @renatk.3829
    @renatk.3829 7 หลายเดือนก่อน

    Хороший курс, только возникла ошибка с подгрузкой index.php, в контейнере он есть, и изменения подтягиваются, вот только при попытке перейти на локалхост выдает File not found.

    • @danilovcode
      @danilovcode  7 หลายเดือนก่อน

      Скиньте скрины в группу телеграм t.me/danilovcodechat - конфига docker compose (либо командную строку которой создаете контейнер) и конфига nginx. Попробуем разобраться

  • @akellaweb
    @akellaweb 8 หลายเดือนก่อน

    Пожалуй самый понятный вводный курс. Отдельное спасибо за чёткое пояснение про CMD и ENTRYPOINT!!
    Никто не объясняет этот момент. После Вашего пояснения понятно стало в чем разница. Хорошо бы ещё отдельно записать как создавать симлинки в контейнере используя volumes_from. И в целом насколько правильно выносить в отдельный сервис установку composer и создание симлинка в директории (нужен именно симлинк). понятно что можно в контейнере запустить команду но зачем если это можно автоматизировать.
    PS. окружение - wsl.

    • @danilovcode
      @danilovcode  8 หลายเดือนก่อน

      Спасибо за отзыв! По симлинкам думаю запишу видео в ближайшем будущем

  • @ДмитрийБогданов-э5ы
    @ДмитрийБогданов-э5ы 11 หลายเดือนก่อน

    Подача материала хорошая, спасибо!
    Однако, столкнулся с тем, что `docker run` каждый раз создает новый контейнер и перед очередным запуском приходится удалять старый

    • @danilovcode
      @danilovcode  11 หลายเดือนก่อน +2

      Спасибо за отзыв!
      Вы можете добавлять опцию --rm к команде run, тогда остановленный контейнер будет автоматически удаляться.
      docker run --rm

  • @simonabrosimov18
    @simonabrosimov18 8 หลายเดือนก่อน

    Отличное видео, отличная подача материала. Спасибо!! Один вопрос только - со всем разобрался и почти все заработало, но нет доступа к phpmyadmin. При вводе localhost:1500 вылезает окошко с надписью о том что надо выбрать приложение для открытия этой ссылки(((

    • @danilovcode
      @danilovcode  8 หลายเดือนก่อน

      Спасибо за отзыв!
      Попробуйте вбить localhost:1500 должно сработать. Ваш браузер почему-то слово localhost воспринял как имя протокола (по типу http, ftp). Также, возможно, что вы слово localhost с ошибкой написали.

    • @simonabrosimov18
      @simonabrosimov18 8 หลายเดือนก่อน

      @@danilovcodeспасибо! Все заработало😊

  • @vova_dev
    @vova_dev ปีที่แล้ว +1

    У меня не заработало - docker run -d -p 80:80 nginx
    Пробовал с разными портами.
    udp. Заработало, на виртуалке всё делаю. Там в настройках сети выставлено NAT. Из-за этого какая-то трабла с loopback. Сделал bridge, всё ок.

  • @АдиляБатырбекова
    @АдиляБатырбекова 5 หลายเดือนก่อน

    Здравствуйте! Спасибо за урок.
    Возникла проблема при перебрасывание порта.
    docker: Error response from daemon: source /var/lib/docker/overlay2/bccacc2b865a27b2edf088677742e2686a835bec6ae4671d9e99e3331a0d080f/merged/etc/nginx/conf.d/default.conf is not directory.
    Введенный запрос: docker run -d -p 80:80 -v ./vhost.conf:/etc/nginx/conf.d/default.conf nginx
    Подскажите пожалуйста, в чем может быть проблема?

    • @danilovcode
      @danilovcode  5 หลายเดือนก่อน

      Похоже, что vhost.conf либо не существует, либо это директория а не файл

    • @andruxanik7769
      @andruxanik7769 5 หลายเดือนก่อน

      @@danilovcode у меня такая же проблема на Windows 10, файл есть, а при выполнении команды создается директория

    • @andruxanik7769
      @andruxanik7769 5 หลายเดือนก่อน

      Нужно использовать Windows PowerShell для данной команды а нет Git Bash

  • @snikitin32
    @snikitin32 7 หลายเดือนก่อน

    Я новичок в докере, но по каким я мануалам делал, то никаких сетей не создавал.
    nginx обращается к php-fpm через имя контейнера и порт.
    Докер автоматически связывает контейнеры в одну сеть.

    • @danilovcode
      @danilovcode  7 หลายเดือนก่อน

      Да, докер по-умолчанию помещает контейнеры в дефолтную сеть, если не указать иное

  • @alexdreamer11
    @alexdreamer11 10 หลายเดือนก่อน

    Спасибо, отлично, только в конце у меня Welcome to nginx! опять

    • @danilovcode
      @danilovcode  10 หลายเดือนก่อน

      Скорее всего у вас не сработал volume с конфигом nginx. Проверьте, правильно ли написаны пути

  • @BagaevRoman
    @BagaevRoman 15 วันที่ผ่านมา

    Приветствую.
    Огромное спасибо за отличное объяснение. Супер все понятно. Я новичок, поэтому пока просто повторяю постепенно осознавая, как все работает. Столкнулся с проблемой, что после изменения конфигурационного файла на запрос index.php у меня вместо открытия страницы с версией php открывается окно сохранения файла с текстом из нашего файла index.php. Немного поискал и нашел ответ, что это по причине того, что не установлен php - поэтому скрипт не срабатывает. Я пересмотрел создание контейнера php81fpm несколько раз, вроде все верно написал. Может кто подскажет, где я не так сделал или что проверить? (контейнер из Dockerfile создан и работает успешно). Может на момент записи видео этот образ был актуален, а сейчас нет?

    • @danilovcode
      @danilovcode  15 วันที่ผ่านมา

      Выложите свой вопрос телеграм группу @danilovcodechat и прикрепите скрины или pastebin.com с содержимым используемых конфигов, докерфайлов и команд которые используете для создания/запуска контейнеров/образов

  • @sayfiddinergashev4764
    @sayfiddinergashev4764 ปีที่แล้ว

    Здравствуйте, можете поделиться с исходным кодом проекта? Спасибо.

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Здравстуйте, к сожалению не сохранился исходник проекта

  • @dmitryvarenikov3947
    @dmitryvarenikov3947 2 หลายเดือนก่อน

    если у кого после монтирования томов в nginx все равно ошибка 404. пропишите в конфиге на локальном хосте рут директорию в директиве location. для более подробной инфы запустите nginx без монтирования томов и посмотрите как там сделан дефолтный конфиг.

  • @Olegcowboyoleg
    @Olegcowboyoleg 7 หลายเดือนก่อน

    Не понял: нетворк мы пишем в compose и всё? Всё, что делали до этого в консоли с сетью роли не играет? Просто пишем нетворк: нетворк2 и присоединяем все сервисы в одну сеть ив всё?

    • @danilovcode
      @danilovcode  7 หลายเดือนก่อน +1

      Да, всё верно. Но можно использовать и сеть созданную в консоли или даже в другом композе, если прописать в текщем композе у нее параметр external: true

    • @Olegcowboyoleg
      @Olegcowboyoleg 7 หลายเดือนก่อน

      @@danilovcode ++

  • @paldeflex
    @paldeflex 9 หลายเดือนก่อน

    А как composer подключить? тоже в services его прописать?

    • @danilovcode
      @danilovcode  9 หลายเดือนก่อน

      Прописать его установку в Dokerfile. Вот пример th-cam.com/video/gVGfegSLg14/w-d-xo.html

  • @Demimur186
    @Demimur186 5 หลายเดือนก่อน

    Подскажите пожалуйста, я хочу зарустить свой глобальный сервер с mysql, с php, как это можно сделать?!
    Где можно почитать!

    • @danilovcode
      @danilovcode  5 หลายเดือนก่อน +1

      Свой это на домашнем ПК? Если так, то вам нужен статический IP адрес. Провайдеры интернета предоставляют его за доп плату. Затем регистрируете домен у любого регистратора. Потом его можно добавить на любой бесплатный днс-хостинг (например cloudflare) и в днс-записях прописать ваш статический айпишник и имя домена. При этом у регистратора домена нужно прописать в ns-записях ns-сервера клаудфлера. Потом на свой комп устанавливаете все что нужно для вебсервера

    • @Demimur186
      @Demimur186 5 หลายเดือนก่อน

      @@danilovcode нет не компьютер, а серверную стойку собираюсь покупать! Там стоит уже Виндовс Сервер (ну вы знаете она не особо отличается), так вот, мне этот сервер нужен для того что я ранее перечислил! IP у меня уже есть, Домен и Поддомен тоже есть!
      Не могу разобраться, таким же способом устанавливать всё как и вы, или на таких серверах стоят какие то особые утилиты!

    • @danilovcode
      @danilovcode  5 หลายเดือนก่อน

      С виндовс сервером я вам не подскажу что делать. Я считаю, что ставить надо линукс и на него стандартный стек для вебсервера.

    • @Demimur186
      @Demimur186 5 หลายเดือนก่อน

      @@danilovcode понял, что входит в стандартный стек?
      Кстати, обязательно пробрасывать порты? Если кабель изернет подключены на прямую к серверу, без роутера?
      Может у вас есть полный курс как сделать глобальный сервер, я хотел бы ознакомиться с материалом

    • @danilovcode
      @danilovcode  5 หลายเดือนก่อน

      Стандартный это apache+php+mysql или nginx+phpfpm+mysql. Вместо mysql может быть mariadb, pgsql и т.д. Вместо php-fpm может быть apache. Вместо nginx любой другой легковесный веб-сервер.
      В уроке порты пробрасываются в контейнер, это никак не связано с wifi роутером. На своем сервере вы можете не использовать докер, либо посмотреть уроки как делать деплой сервера на докере. Можете почитать еще про оркестрацию. Дело в том что настройки докера для локального сервера для разработки отличаются от продакшена. Рекомендую на проде пока не использовать докер, а для начала изучить получше обычный серверный стек

  • @MrMikhailDJ
    @MrMikhailDJ ปีที่แล้ว

    А что конкретно должно быть в SCRIPT_FILENAME? Путь до index.php? Если речь про phpmyadmin. Настраивать правда пытаюсь в k8s с nginx ingress контроллером и при заходе на phpmyadmin у меня просто белая страница, хотя коды ответов получает веб-сервер 200.

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      В SCRIPT_FILENAME полный путь до скрипта, которому передается запрос. Смотрите логи, возможно там что-то есть

    • @MrMikhailDJ
      @MrMikhailDJ ปีที่แล้ว

      @@danilovcode логи где? В контейнере с phpmyadmin?

    • @MrMikhailDJ
      @MrMikhailDJ ปีที่แล้ว

      @@danilovcode посмотрел. Проблема следующая: NOTICE: Access to the script '/var/www/html/js/dist/shortcuts_handler.js' has been denied (see security.limit_extensions)
      Насколько знаю этот параметр должен быть определен в конфиге пхп? Но где он в контейнере phpmyadmin? Даже через find с grep не нашел. Параметры для fastcgi такие стоят:
      DOCUMENT_ROOT: "/var/www/html"
      SCRIPT_FILENAME: "/var/www/html$fastcgi_script_name"
      PATH_INFO: "$fastcgi_path_info"
      PATH_TRANSLATED: "$document_root$fastcgi_path_info"
      HTTP_PROXY: ""
      Ну и дефолтный include на fastcgi параметры из ингресса nginx. Есть идеи как фиксить?

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Ну да, в контейнере. Проверьте к тому ли контейнеру вы подключаетесь

    • @MrMikhailDJ
      @MrMikhailDJ ปีที่แล้ว

      @@danilovcode я написал, что посмотрел) Проблема выше. Подключается все нормально. Ответ от корня 200, но все остальное 403 как будто проблема с правами. На рабочую папку в php все права www-data… И все никак. Может быть попробовать создать конфиг с параметром security.limit_extensions?

  • @ruslanhamidulin8668
    @ruslanhamidulin8668 9 หลายเดือนก่อน

    Здравствуйте. Сколько бы я не старался, но порт 9000 phpfpm не выдает

    • @danilovcode
      @danilovcode  9 หลายเดือนก่อน

      Здравствуйте. Что значит не выдает? Что вы делали и что происходит? Есть сообщения об ошибках?

    • @ruslanhamidulin8668
      @ruslanhamidulin8668 9 หลายเดือนก่อน

      @@danilovcode нет всё запускается. Но порт нужно прописывать в ручную

  • @rosolovsky
    @rosolovsky ปีที่แล้ว +1

    Отлично. Не мешало бы в php контейнер прикрутить composer!

    • @danilovcode
      @danilovcode  ปีที่แล้ว +2

      Вот в этом уроке прикручиваем compozer: th-cam.com/video/gVGfegSLg14/w-d-xo.html

  • @макрон-и4ь
    @макрон-и4ь ปีที่แล้ว

    какой контейнер откуда как эти директории создавать в терминале хз нихрена не создаётся

    • @danilovcode
      @danilovcode  ปีที่แล้ว

      Я все по ходу видео подробно поясняю. Рекомендую посмотреть с самого начала, не пропуская важные части. Если у вас не получается что-то конкретное сделать - задавайте вопросы, на все постараюсь ответить. Но перед вопросом желательно напишите что вы делали и к каким ошибкам это привело.

  • @TheEmberEve
    @TheEmberEve 5 หลายเดือนก่อน +2

    Кто делает на винде учтите, путь должен быть с обратным слешем docker run -d -p 80:80 -v .\vhost.conf:/etc/nginx/conf.d/default.conf nginx
    И то только в windows консоли, а не git-bash например, там не работает даже прямой, файл не прокидывается, хотя и ошибку не выдает.

    • @oksanadenysenko4355
      @oksanadenysenko4355 หลายเดือนก่อน +3

      Thank you, I spent three days looking for a solution, why my mount does not work. And then I saw this comment and everything worked!!!

  • @vova_dev
    @vova_dev ปีที่แล้ว +1

    -v не работает.
    Даже уже с одинаковым названием пробовал:
    docker container run -p 80:80 -v default.conf:/etc/nginx/conf.d/default.conf nginx
    docker: Error response from daemon: source /var/lib/docker/overlay2/8bebf42b69bb759052f4a4539c45490b13b6a65f28251c6faafa6774567f0819/merged/etc/nginx/conf.d/default.conf is not directory.
    udp. Получилось. Надо было полный путь указать. У меня ubuntu. У тебя IOS?

    • @danilovcode
      @danilovcode  ปีที่แล้ว +2

      Нужно так:
      docker container run -p 80:80 -v ./default.conf:/etc/nginx/conf.d/default.conf nginx
      иначе докер думает, что это именованый волюм, а не путь к файлу

    • @kzamirtay520
      @kzamirtay520 10 หลายเดือนก่อน

      docker container run -d -p 80:80 -v ${PWD}/vhost.conf:/etc/nginx/conf.d/default.conf nginx
      На Windows так нужно делать

    • @danilovcode
      @danilovcode  10 หลายเดือนก่อน

      Можно и так. Pwd возвращает путь к текущей директории. Также как и точка

    • @Olegcowboyoleg
      @Olegcowboyoleg 7 หลายเดือนก่อน +2

      @@kzamirtay520 $PWD без скобок - у меня только так сработало. до этого гемороился по-всякому.

    • @andruxanik7769
      @andruxanik7769 5 หลายเดือนก่อน

      @@Olegcowboyoleg а у меня не получается, при выполнении команды создается папка vhost.conf;C

  • @ddre183
    @ddre183 3 หลายเดือนก่อน +1

    Очень полезное видео, спасибо автору!