Використання Docker з Symfony

Дата оновлення перекладу 2024-06-06

Використання Docker з Symfony

Чи можете ви використовувати Docker з Symfony? Звичайно! І існує декілька інструментів, які можуть вам у цьому допомогти, в залежності від ваших потреб.

Повне середовище Docker

Якщо вам потрібно повне середовище Docker (тобто, де PHP, веб-сервер, база даних та інше, все знаходиться в Docker), прочитайте https://github.com/dunglas/symfony-docker.

Як варіант, ви можете встановити PHP на вашій локальній машині, та використати бінарну інтеграцію symfony з Docker . В обох випадках, ви можете скористатися перевагами автоматичної конфігурації Docker з Symfony Flex .

Рецепти Flex і конфігурація Docker

Рецепт Flex для деяких пакетів також включає в себе конфігурацію Docker. Наприклад, коли ви виконуєте composer require doctrine (щоб отримати symfony/orm-pack), ваш файл docker-compose.yml буде автоматично оновлено, щоб включати в себе сервіс database.

Перший раз, коли ви встановите рецепт, що містить конфігурацію Docker, Flex запитає вас, чи хочете ви додати її. Або ви можете встановити свої побажання в composer.json, встановивши конфігурацію symfony.extra.docker як true або false.

Деякі рецепти також мають додаток до вашого Dockerfile. Щоб отримати ці зміни, вам потрібно вже мати Dockerfile у корені вашого додатку з наступним кодом десь всередині:

1
2
###> recipes ###
###< recipes ###

Рецепт знайде цей розділ та додасть деякі зміни всередині. Якщо ви використовуєте https://github.com/dunglas/symfony-docker, у вас це вже буде.

Після установки пакету, повторно створіть ваші контейнери, виконавши:

1
$ docker-compose up --build

Бінарний веб-сервер Symfony та підтримка Docker

Якщо ви використовуєте (наприклад, symfony server:start), то він може автоматично визначати ваші сервіси Docker і демонструвати їх у вигляді змінних середовища. Див. .

Note

Користувачам macOS потрібно явно дозволити використання сокета Docker за замовчуванням, щоб інтеграція з Docker працювала як описано в документації Docker.