Как стать автором
Обновить

Комментарии 8

Спасибо за статью. У вас в конфиге nginx php82, а в остальных местах 81. Ещё бы можно было про xdebug написать.

Единственная вещь, которая мне тут не понравилась - это необходимость каждый раз подключаться к контейнеру через bash чтобы поставить зависимости. То же самое придётся делать каждый раз, когда команду нужно будет выполнить. Может есть другое варианты без установки php/composer на хост ?

Спасибо за статью!

Есть иной подход - включать vendors в репозиторий. Повышает секьюрность и ускоряет развертывание.

Запускать нужные тулзы внутри контейнера, и маунтить хостовую систему внутрь него.
Например, чтобы выполнить composer update достаточно просто запустить контейнер композера с флагом --rm и смаунтить внутрь него хостовую fs.
Можно подрубить Makefile, тогда становится жить чуть проще.

кстате в топик посте есть такое использование для запуска доктрины.

docker-compose run - rm php81-service php bin/console doctrine:database:create

Можно использовать deployer. Мы именно так и разворачиваем

Кому интересно докер для разроботки - должен обязательно посмотреть на DDev

Вообще статья достаточно слабая.

Это означает, что я должен создать сеть

Нет, не означает, потому что по дефолту команда docker-compose up создает отдельную сеть при запуске. Вообще кейсы когда надо указать сеть достаточно редкие, я с таким встречался только один раз, когда надо было чтобы тулза в одном контейнере могла достучаться до minikube.

Еще не ясно зачем пробрасывать 9000 порт у php, вряд ли мы захотим с хоста к нему присоединиться, а порт это действие занимает.

А вообще, раз уж мы говорим о докере, то локальная разработка только часть проблемы, ведь дальше мы захотим все это как-то деплоить, и делать это желательно не руками, а значит нам надо:

  1. Настроить в ci/cd билд контейнеров

  2. Настроить деплой этих контейнеров в какое-то окружение

И вот под эти цели все что описано выше слабо подходит.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий