На моем компьютере я работаю под управлением Windows 10. У меня есть виртуальная машина с Ubuntu 18.04. У меня есть проект Laravel, который работает на Docker. У меня есть сервер MySQL, который работает на моей виртуальной машине. Я использую docker-compose.yml и Dockerfile для сборки проекта. У меня нет контейнера базы данных MySQL: MySQL работает на моей виртуальной машине.
Моя проблема в том, что я не могу получить доступ к своей базе данных MySQL, называемой mydatabase. Всякий раз, когда я делаю php artisan migrate
или захожу в свой проект на localhost:8080
, я получаю ошибку
SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `sometable`)
Я могу запустить проект, если я запускаю его на компьютере с операционной системой Ubuntu. Но не с виртуальной машиной. Я могу получить доступ к своему серверу MySQL с виртуальной машины с
mysql --host=127.0.0.1 -u root -p
и мой пароль также root
.
.env file
DB_HOST=127.0.0.1
HOSTNAME=b2d4219c8143
APP_NAME=myLaravelApp
APP_URL=http://localhost
DB_CONNECTION=mysql
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DB_DATABASE=mydatabase
_=/usr/bin/env
PWD=/var/www/html
DB_PASSWORD=root
APP_DEBUG=true
APP_KEY=base64:C1IQl08HeaUSPfahtrZLL1lL81n3ELMmJd9Tkli6CtA=
DB_USERNAME=root
SHLVL=6
HOME=/root
LOG_CHANNEL=file
докер-compose.yml
version: '1'
services:
web:
build:
context: ./
working_dir: /var/www/html
ports:
- 8080:80
volumes:
- ./:/var/www/html
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DB_HOST=127.0.0.1
- HOSTNAME=b2d4219c8143
- DB_DATABASE=mydatabase
- PWD=/var/www/html
- DB_PASSWORD=root
- SHLVL=3
- HOME=/root
- DB_USERNAME=root
- LOG_CHANNEL=file
- DB_CONNECTION=mysql
- APP_NAME=fes
- APP_ENV=local
- APP_KEY=base64:C1IQl08HeaUSPfahtrZLL1lL81n3ELMmJd9Tkli6CtA=
- APP_DEBUG=true
- APP_URL=http://localhost
Dockerfile
FROM nginx:latest
RUN apt-get update && apt-get install -y php-gd
RUN apt-get -y install php7.2-zip
COPY entrypointcust.sh /entrypointcust.sh
RUN chmod +x /entrypointcust.sh
EXPOSE 80
Мой ipv4-адрес на виртуальной машине
10.0.2.15
Есть предложения, почему я не могу подключиться к своей базе данных?
DB_HOST=localhost
в .env файле тоже не работает.