В вашем контейнере БД добавьте:
ports:
- "3306:3306"
environment:
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: databaseName
MYSQL_USER: root
MYSQL_PASSWORD: secret
SERVICE_TAGS: dev
SERVICE_NAME: mysql
Затем go внутри вашего контейнера, используя:
docker exec -it web bash
Это откроет консоль вашего контейнера laravel и там запустите
php artisan optimize
Чтобы использовать переменные вашего файла env.
Перед этим необходимо создать шаг к созданию базы данных внутри docker, используя mysql верстак или подобный инструмент. .
Вы можете подключиться, используя следующие учетные данные:
Host: 0.0.0.0
username : root
password : secret
port : 3306
И затем создать пустую базу данных, используя имя вашей базы данных, которое вы используете в файле env и в docker_compose
* 1018. *
Ваш файл env laravel должен быть немного изменен, чтобы он загружал контейнер mysql.
DB_CONNECTION=mysql
DB_HOST=db //This is the container name you use
DB_PORT=3306
DB_DATABASE=myDatabaseName
DB_USERNAME=root
DB_PASSWORD=secret
Комментарий Ответ:
Ошибка в вашем комментарии означает, что вы пропустили расширение gd. Внутри вашего docker файла используйте следующие строки:
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd