Discussione:
dockerizzare un sito con apache, php e mysql
(troppo vecchio per rispondere)
alex
7 anni fa
Permalink
Forse non è proprio il posto adatto, ma visto che nessuno riesce ad
aiutarmi, vorrei provare ad esporre il mio problema.
Non riesco ad accedere al database da php.
Ecco i dettagli:

+ cat docker-compose.yml
version: '3.3'
services:
app:
build:
context: .
dockerfile: docker/Dockerfile
image: laravel-docker
ports:
- 4000:80
volumes:
- ./src:/var/www/html
links:
- mysql
- redis
environment:
DB_HOST: mysql
DB_DATABASE: test
DB_USERNAME: root
DB_PASSWORD: root
REDIS_HOST: redis
SESSION_DRIVER: redis
CACHE_DRIVER: redis
mysql:
image: mysql:5.7
ports:
- 13306:3306
environment:
MYSQL_DATABASE: test
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
volumes:
- ./dump.sql:/docker-entrypoint-initdb.d/dump.sql
redis:
image: redis:4.0-alpine
ports:
- 16379:6379

+ cat docker/Dockerfile
FROM php:7.2.2-apache
RUN docker-php-ext-install mbstring pdo pdo_mysql

+ cat src/index.php
<?php
error_reporting(255);

$pdo = new PDO(
'mysql:dbname=test;host=mysql',
'root',
'root'
);

+ docker-compose up -d --build
Building app
...

+ curl http://localhost:4000
<b>Fatal error</b>: Uncaught PDOException: SQLSTATE[HY000] [2002]
Connection refused in /var/www/html/index.php:7

Perchè non funziona?
meddix on UbuWIN
7 anni fa
Permalink
Post by alex
DB_HOST: mysql
??
alex
7 anni fa
Permalink
Post by alex
DB_HOST: mysql
??
version: '3.3'
services:
app:
build:
context: .
dockerfile: docker/Dockerfile
image: laravel-docker
ports:
- 4000:80
volumes:
- ./src:/var/www/html
links:
- mysql
- redis
environment:
DB_HOST: mysql
DB_DATABASE: test
DB_USERNAME: root
DB_PASSWORD: root
REDIS_HOST: redis
SESSION_DRIVER: redis
CACHE_DRIVER: redis
mysql:
image: mysql:5.7
ports:
- 13306:3306
environment:
MYSQL_HOST: mysql
MYSQL_DATABASE: test
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
volumes:
- ./dump.sql:/docker-entrypoint-initdb.d/dump.sql
redis:
image: redis:4.0-alpine
ports:
- 16379:6379

Ho messo
mysql:
MYSQL_HOST: mysql

Loading...