Можете дать пример настройки соединения в Symfony4 + Docker + Postgres?

В Symfony 4 настройка соединения с базой данных PostgreSQL при использовании Docker обычно включает в себя несколько шагов. Вот подробный пример настройки соединения с PostgreSQL в Symfony 4 с использованием Docker:

Шаг 1: Установите Docker и docker-compose
Установите Docker и docker-compose на вашу операционную систему. Docker позволяет вам создавать и управлять контейнерами, в которых будет работать ваше приложение Symfony и база данных PostgreSQL.

Шаг 2: Создайте новый проект Symfony 4
Перейдите в папку, где хотите создать ваш новый проект Symfony 4, и выполните следующую команду:

composer create-project symfony/website-skeleton my_project

Шаг 3: Создайте файл docker-compose.yml
В корневой папке вашего проекта создайте файл с именем docker-compose.yml и добавьте в него следующий код:

version: '3'
services:
  db:
    image: postgres
    environment:
      POSTGRES_USER: my_user
      POSTGRES_PASSWORD: my_password
      POSTGRES_DB: my_database
    volumes:
      - ./docker/postgres/data:/var/lib/postgresql/data
  php:
    build:
      context: .
      dockerfile: docker/php/Dockerfile
    environment:
      DATABASE_URL: postgres://my_user:my_password@db/my_database
    volumes:
      - .:/var/www/html
    ports:
      - 8000:8000
    depends_on:
      - db

В этом файле указываются две службы: db (база данных PostgreSQL) и php (контейнер PHP, где будет работать ваше приложение Symfony). Вы можете настроить путь к данным PostgreSQL в секции volumes и настроить порт для службы php в секции ports.

Шаг 4: Создайте файл Dockerfile для PHP
В папке docker вашего проекта создайте папку с именем php и в ней создайте Dockerfile с содержимым:

FROM php:7.4-fpm

RUN apt-get update && apt-get install -y 
  zip 
  unzip 
  && docker-php-ext-install pdo pdo_pgsql

WORKDIR /var/www/html

Этот Dockerfile базируется на официальном образе PHP 7.4 FPM и устанавливает необходимые расширения PHP (в данном случае pdo и pdo_pgsql).

Шаг 5: Откройте консоль Docker и запустите контейнеры
Откройте консоль в корневой папке вашего проекта и выполните следующую команду:

docker-compose up -d

Она запустит контейнеры, определенные в файле docker-compose.yml, и соберет контейнер PHP с настройками, определенными в Dockerfile.

Шаг 6: Настройте Symfony
В файле .env, который находится в корневой папке вашего проекта, проверьте, что параметр DATABASE_URL установлен следующим образом:

DATABASE_URL=postgres://my_user:my_password@db/my_database

Теперь ваше соединение с базой данных PostgreSQL должно быть готово к использованию в Symfony 4. Вы можете использовать автоматически созданную переменную DATABASE_URL, чтобы настроить ваше подключение к базе данных в config/packages/doctrine.yaml или где-либо еще, где это требуется в вашем проекте Symfony.

Надеюсь, это подробное объяснение поможет вам настроить соединение с базой данных PostgreSQL в Symfony 4 с использованием Docker. Удачи в разработке!