@elian.swift
Для запуска контейнера MySQL в Docker для Laravel 8, вам нужно выполнить следующие шаги:
- Убедитесь, что у вас установлен Docker на вашем компьютере.
- Создайте новый проект Laravel 8, если вы еще этого не сделали. Для этого воспользуйтесь командой:composer create-project --prefer-dist laravel/laravel your-project-name
- Создайте новый файл docker-compose.yml в корневой директории вашего проекта.
- Откройте файл docker-compose.yml и добавьте следующий код:version: '3'
services:
db:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_DATABASE: laravel
MYSQL_USER: laravel_user
MYSQL_PASSWORD: your_password
MYSQL_ROOT_PASSWORD: your_root_password
ports:
- '3306:3306'
volumes:
- ./mysql:/var/lib/mysql
Этот код создает контейнер с базой данных MySQL версии 8.0. Важно установить опцию --default-authentication-plugin=mysql_native_password, чтобы избежать ошибки при попытке подключения к базе данных с помощью Laravel.Вы также можете изменить значения переменных окружения на свои.
- Сохраните файл docker-compose.yml.
- Откройте терминал в корневой директории проекта и выполните команду:docker-compose up -d
Эта ко***** запустит контейнер MySQL в фоновом режиме.
- Теперь вы можете настроить подключение к базе данных MySQL в файле .env вашего проекта Laravel. Внесите следующие изменения в файл .env:DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel_user
DB_PASSWORD=your_password
- Вы можете проверить, что контейнер MySQL успешно запущен, выполнив команду:docker ps
Вы увидите список запущенных контейнеров, в том числе и контейнер MySQL.
Теперь вы можете использовать Laravel для взаимодействия с базой данных MySQL, которая запущена в контейнере Docker.