Selamün Aleyküm herkese,
MacOS bigsur'da M1 üzerinde docker kullanmaya çalışıyorum. Çok enterasan bir durum ile karşılaştım.
Sorun şu .env dosyasınada
DB_HOST kısmı
- 127.0.0.1 => migration işlemi çalışıyor. lakin sayfayı çağırdığımda SQLSTATE[HY000] [2002] Connection refused hatası alıyorum
- localhost => migration işlemi çalışmıyor SQLSTATE[HY000] [2002] No such file or directory hatası alıyorum.
- 192.168.160.3 => MariaDB container ip sini yazıncı migration çalışmıyor hatada vermiyor ama bu sefer sayfaya ulaşabiliyorum.
mert isimli kullanıcıya tüm yetkileri atadım. Ayrıca tüm yetkileri vermeme rağmen phpstorm içinde mert kullanıcı ile localhost üzerinden veritabanı bağlantısı sağlarken shema oluşturmada access denied yiyorum. 127.0.0.1 yada ip vererek denemedim. CLI'dan mert kullanıcısı ile veritabanı oluşturduktan sonra phpstorm içinden bağlantı sağlayabiliyorum.
Saygılar 🙂
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=mert
DB_PASSWORD=1234
docker-compose.yml
version: "3.7"
services:
web:
build:
context: .
restart: always
volumes:
- ./webfiles/:/var/www/html
ports:
- 80:80
networks:
- backend
database:
image: mariadb:latest
restart: always
environment:
MYSQL_USER: mert
MYSQL_PASSWORD: 1234
MYSQL_ROOT_PASSWORD: secret
volumes:
- ./database-dump/:/var/lib/mysql
ports:
- 3306:3306
networks:
- backend
networks:
backend:
driver: bridge
Dockerfile
FROM php:7.4.3-apache
RUN docker-php-ext-install mysqli pdo pdo_mysql
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN a2enmod rewrite
Edit 1:
Windows PC 'de
DB_HOST =
localhost yapınca migration çalışıyor. istek atınca SQLSTATE[HY000] [2002] No such file or directory hatası veriyor.
Container-IP girince istekler çalışıyor lakin migration yapmaya kalkınca SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: hatası alınıyor.