Сбой миграции базы данных Laravel с использованием laradock

Я получаю следующую ошибку

[Illuminate\Database\QueryException]
SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = testdb and table_name = migrations)

когда я бегу —

php artisan migrate

Я запускаю эту команду в рабочей области laradock. Я вошел в рабочую область с помощью следующей команды.

docker-compose exec workspace bash

Я использую Laravel 5.5. У меня есть laradock внутри моей папки проекта следующим образом.

 +testproject
-Laradock

Файл моего проекта .env (testproject / .env) содержит следующие настройки для mysql.

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=33060
DB_DATABASE=testdb
DB_USERNAME=root
DB_PASSWORD=root

В моем файле laradock .env (testproject / laradock / .env) содержатся следующие настройки для mysql.

MYSQL_VERSION=8.0
MYSQL_DATABASE=testdb
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=33060
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

Мой docker-compose.yml содержит следующие настройки для Mysql Container

mysql:
build:
context: ./mysql
args:
- MYSQL_VERSION=${MYSQL_VERSION}
environment:
- MYSQL_DATABASE={MYSQL_DATABASE}
- MYSQL_USER={MYSQL_USER}
- MYSQL_PASSWORD={MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD={MYSQL_ROOT_PASSWORD}
- TZ=${WORKSPACE_TIMEZONE}
volumes:
- ${DATA_SAVE_PATH}/mysql:/var/lib/mysql
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "${MYSQL_PORT}:3306"networks:
- backend

Mysql в Docker установлен в порт 33060. Я пытаюсь laradock в первый раз. После попытки нескольких конфигураций теперь я взываю к Мстителям !!!

0

Решение

решил проблему с помощью следующих настроек MySQL.

TestProject / .env:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=testdb
DB_USERNAME=root
DB_PASSWORD=root

TestProject / laradock / .env:

MYSQL_VERSION=8.0
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=33060
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

TestProject / laradock / Докер-compose.yml

mysql:
build:
context: ./mysql
args:
- MYSQL_VERSION=${MYSQL_VERSION}
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- TZ=${WORKSPACE_TIMEZONE}
volumes:
- ${DATA_SAVE_PATH}/mysql:/var/lib/mysql
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "${MYSQL_PORT}:3306"networks:
- backend

Я также выполнил следующие две команды в папке laradock

docker-compose down

docker-compose up -d mysql
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]