Outils pour utilisateurs

Outils du site


reseau:docker:creerimagedockerfile

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
reseau:docker:creerimagedockerfile [2026/06/21 13:50] – [Test de votre image] techer.charles_educ-valadon-limoges.frreseau:docker:creerimagedockerfile [2026/06/21 14:54] (Version actuelle) – [Test de votre image avec un fichier docker-compose.yml] techer.charles_educ-valadon-limoges.fr
Ligne 31: Ligne 31:
  
   * un **conteneur MariaDB** appelé **srvbdd**;   * un **conteneur MariaDB** appelé **srvbdd**;
-  * un **script bdd\_test\_sov.sql** de **création** d'une base de données appelée **php-test** ;+  * un **script bdd\_phptest\_sov.sql** de **création** d'une base de données appelée **phptest** ;
   * un **conteneur** appelé **testphp** créé à partir de la nouvelle image **php-mariadb** ;   * 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 **php-test**.+  * un **script index.php** permettant de **tester la connexion** à la base de données **phptest**.
  
 <code file bdd_php-test_sov.sql> <code file bdd_php-test_sov.sql>
-CREATE DATABASE php-test; +CREATE DATABASE phptest; 
-USE php-test;+USE phptest;
 CREATE TABLE produits ( CREATE TABLE produits (
     nom VARCHAR(50)     nom VARCHAR(50)
Ligne 48: Ligne 48:
 <?php <?php
 $host = 'srvbdd'; // nom du conteneur MariaDB (base de données) $host = 'srvbdd'; // nom du conteneur MariaDB (base de données)
-$db   = 'php-test';+$db   = 'phptest';
 $user = 'root'; $user = 'root';
 $pass = 'Sio1234*'; $pass = 'Sio1234*';
Ligne 74: Ligne 74:
 ==== Création du conteneur mariadb appelé srvbdd==== ==== Création du conteneur mariadb appelé srvbdd====
  
-  * création du dossier contenant le script **bdd\_test\_sov.sql** :+  * création du dossier contenant le script **bdd\_php-test\_sov.sql** :
  
 <code shell> <code shell>
Ligne 81: Ligne 81:
 </code> </code>
  
-  * copie du fichier **bdd\_test\_sov.sql** dans le dossier init.+  * copie du fichier **bdd\_php-test\_sov.sql** dans le dossier init.
  
   * création du conteneur **srvbdd** avec :   * création du conteneur **srvbdd** avec :
     * la définition du mot de passe du compte root,     * la définition du mot de passe du compte root,
-    * exécution automatique du contenu du fichier **bdd\_test\_sov.sql** :   +    * exécution automatique du contenu du fichier **bdd\_php-test\_sov.sql** :   
  
  
Ligne 92: Ligne 92:
   --name srvbdd \   --name srvbdd \
   -e MARIADB_ROOT_PASSWORD=Sio1234* \   -e MARIADB_ROOT_PASSWORD=Sio1234* \
-  -e MARIADB_DATABASE=test \+  -e MARIADB_DATABASE=phptest \
   -p 3306:3306 \   -p 3306:3306 \
-  -v init:/docker-entrypoint-initdb.d \+  -v ./init:/docker-entrypoint-initdb.d \
   mariadb    mariadb 
 </code> </code>
Ligne 101: Ligne 101:
 Explications : Explications :
   * -e MARIADB_ROOT_PASSWORD=Sio1234* => mot de passe root.   * -e MARIADB_ROOT_PASSWORD=Sio1234* => mot de passe root.
-  * -e MARIADB_DATABASE=test => base créée automatiquement. +  * -e MARIADB_DATABASE=phptest => base de créée automatiquement à la création du conteneur srvbdd. 
-  * -v init:/docker-entrypoint-initdb.d => montage du dossier contenant **bdd\_test\_sov.sql** qui sera **exécuté* au premier démarrage du conteneur.+  * -v init:/docker-entrypoint-initdb.d => montage du dossier contenant **bdd\_phptest\_sov.sql** qui sera **exécuté** au premier démarrage du conteneur.
   * mariadb => image officielle MariaDB.   * mariadb => image officielle MariaDB.
 </WRAP> </WRAP>
Ligne 110: Ligne 110:
   * Tous les scripts présents dans **/docker-entrypoint-initdb.d** ne sont exécutés qu’au premier démarrage (quand /var/lib/mysql est vide).   * Tous les scripts présents dans **/docker-entrypoint-initdb.d** ne sont exécutés qu’au premier démarrage (quand /var/lib/mysql est vide).
   * Pour exécuter à nouveau des scripts d’initialisation, il faut :   * Pour exécuter à nouveau des scripts d’initialisation, il faut :
-    * soit rajouter lors de la création du conteneur un volume pour le dossier **/var/lib/mysql**, dossier qui va contenir les fichier de la base de données MariaDB. Il faudra alors supprimer le contenu de ce dossier **/var/lib/mysql** pour  relancer l'initialisation avec tous les scripts contenus dans le dossier  **/docker-entrypoint-initdb.d**.+    * soit rajouter lors de la création du conteneur un volume pour le dossier **/var/lib/mysql**, dossier qui va contenir les fichier de la base de données MariaDB. Il faudra alors supprimer le contenu de ce dossier **/var/lib/mysql** pour  relancer l'initialisation avec tous les scripts contenus dans le dossier  **/docker-entrypoint-initdb.d**; 
 +    * soit supprimer le conteneur et le recréer.
 </WRAP> </WRAP>
 +
 +==== Création du conteneur Web appelé testphp====
 +
 +  * création du dossier **www** contenant le script php **index.php** :
 +
 +<code shell>
 +mkdir www
 +cd www
 +</code>
 +
 +  * copie du fichier **index.php** dans le dossier **www**.
 +
 +  * création du conteneur **testphp** avec :
 +    * la mappage du dossier **www** avec le dossier de piblicatio **/var/www/html** du conteneyr ;
 +    * le port réseau de l'hôte de votre choix. Par exemple 8080 ;
 +    * le lien avec le conteneur **svrbdd** (l'utilisation de ce paramètre **link** sera explicité dans l'activité suivante) ;
 +    * la nouvelle image que vous devez tester. Ici **ctecher/php-mariadb** 
 +
 +
 +<code shell>
 +docker run -d \
 +  --name testphp \
 +  -p 8080:80 \
 +  --link srvbdd:srvbdd
 +  -v ./www:/var/www/html \
 +  ctecher/php-mariadb 
 +</code>
 +
 +===== Test de votre image avec un fichier docker-compose.yml=====
 +L'utilisation du fichier Docker-compose.yml sera explicité dans une prochaine activité.
 +
 +  * utilisation du dossier **init** contenant le script **bdd\_php-test\_sov.sql** ;
 +  * utilisation du dossier **wws** contenant le fichier **index.html**.
 +
 +<code file Docker-compose.yml>
 +services: 
 +  # base de données MariaDB 
 +  srvbdd: 
 +    image: mariadb
 +    volumes:
 +      - ./init:/docker-entrypoint-initdb.d/
 +    environment:
 +      MARIADB_ROOT_PASSWORD: Sio1234*
 +
 +  # site Web php 
 +  testphp: 
 +    image: ctecher/php-mariadb
 +    depends_on:
 +      - srvbdd
 +    ports:
 +      - 8080:80
 +    volumes:
 +      - ./www:/var/www/html  
 +</code>
 +
 +  * lancement des conteneurs : 
 +
 +<code>
 +docker compose up -d
 +</code>
 +
 +  * arrêt des conteneurs : 
 +
 +<code>
 +docker compose down
 +</code>
  
 ====== Retour Accueil Docker ====== ====== Retour Accueil Docker ======
  
   * [[reseau:docker:accueil|Docker]]   * [[reseau:docker:accueil|Docker]]
/var/www/html/wikis/farm/siocours.lycees.nouvelle-aquitaine.pro/data/attic/reseau/docker/creerimagedockerfile.1782049807.txt.gz · Dernière modification : de techer.charles_educ-valadon-limoges.fr