Використання 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.