Exemple de docker amb Apache, PHP i MariaDB
La revisió el 12:26, 13 gen 2025 per Jordi Binefa (discussió | contribucions) (→Creació del docker compost)
Creació del docker compost
Creeu el docker. En fucnió de la vostra xarxa pot durar una mica més dels 62 segons que apareixen a aquesta captura:
jordi@asix2:~/lemp$ docker-compose up -d [+] Building 62.0s (7/7) FINISHED ...
Accés al docker de la base de dades MariaDB
Si el nom del vostre docker MariaDB és lemp-mariadb-1:
docker exec -it lemp-mariadb-1 bash -l
Podem saber la IP interna de la base de dades:
root@ab445bde0f6e:/# ip a
Us ha de sortir una IP similar a 172.18.0.2, potser amb el darrer número canviat
Per accedir a la base dades:
docker exec -it lemp-mariadb-1 bash -l
Creeu la taula amb la que voleu treballar:
MariaDB [(none)]> CREATE DATABASE aula311; Query OK, 1 row affected (0.001 sec) MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | aula311 | | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.002 sec) MariaDB [aula311]> exit Bye
Codi 00_connect.php per provar l'accés a la base de dades
<!doctype html> <HTML lang="ca"> <HEAD> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> <TITLE>Connexió a la base de dades</TITLE> </HEAD> <BODY> <?php $prg = "00_connect.php"; // Example (PDO) at https://www.w3schools.com/php/php_mysql_connect.asp $servername = "172.18.0.2"; // docker inspect lemp-mariadb-1 | grep IPAddress $username = "root"; // Poseu un usuari de la BD en comptes de root $password = "fjeclot"; try { $conn = new PDO("mysql:host=$servername;dbname=aula311", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connectat a la base de dades."; } catch(PDOException $e) { echo "No es pot connectar. Motiu: " . $e->getMessage(); } ?> </BODY> </HTML>
Podeu accedir-hi anant a http://localhost/00_connect.php