FROM php:8.1-apache
RUN apt-get update && apt-get upgrade -y
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
RUN docker-php-ext-install pdo pdo_mysql
* Depuis l'invite de commande, le **terminal** pour Linux ou **Powershell** pour Windows, dans le dossier contenant le **fichier Dokerfile**, lancez la commande suivante pour créer :
* une image **appelée php-mariadb** et **préfixée** par votre pseudo Docker :
docker build -t ctecher/php-mariadb .
===== Test de votre image =====
Pour pouvoir tester votre nouvelle image **php-mariadb**, vous devez mettre en œuvre :
* un **conteneur MariaDB** appelé **srvbdd**;
* un **script bdd\_test\_sov.sql** de **création d'une base de données de test** ;
* un **conteneur** appelé **testphp** créé à partir de la nouvelle image **php-mariadb** ;
* un **script index.php** permettant de **tester la connexion** à la base de données **test**.
CREATE DATABASE test;
USE test;
CREATE TABLE produits (
nom VARCHAR(50)
);
INSERT INTO produits (nom) VALUES ('fraises');
INSERT INTO produits (nom) VALUES ('melons');
getMessage());
}
$stmt = $pdo->query("SELECT nom FROM produits");
echo "Contenu de la base de test
";
echo "";
echo "Nom ";
while ($row = $stmt->fetch()) {
echo "" . htmlspecialchars($row['nom']) . " ";
}
echo "
";
?>
==== Création du conteneur mariadb appelé srvbdd====
* création du dossier contenant le script bdd_test.sql
mkdir .\init
cd init
* copie du fichier bdd_test.sql dans le dossier .\init
docker run -d \
--name srvbdd \
-e MARIADB_ROOT_PASSWORD=Sio1234* \
-e MARIADB_DATABASE=test \
-p 3306:3306 \
-v .\:/docker-entrypoint-initdb.d \
mariadb