- 1. Introduction
- 2. Configuration
- 3. Commandes disponnibles
- 4. Première utilisation
Ce dépôt contient les fichiers permettant de créer deux conteneurs :
- Un pour un webservice basé sur Tomcat 9.0.48
- Un pour un explorateur de fichiers PHP basé sur EncodeExplorer
Le fichier de configuration se trouve dans le fichier config
.
Cette configuration permet de définir comment seronts construits et exécutés les conteneurs.
Dans cette section se trouve la liste de l'ensemble des paramètres utilisés lors de la création et de l'exécution des conteneurs.
Voici la liste des paramètres des conteneurs.
Paramètre | Description | Format |
---|---|---|
CONTAINERS_NAMES |
Le nom des conteneurs. | Tableau |
IMAGES_NAMES |
Le nom des images qui seront créées à partir des Dockerfile. | Tableau |
DOCKERFILE_PATH |
Le chemin vers le dossier contenant le Dockerfile à utiliser pour créé l'image du conteneur. | Tableau |
RUN_ARGS |
Les arguments utilisés lors de la création du conteneur. | Tableau (cf. docker run --help ou Documentation ) |
START_ARGS |
Les arguments utilisés lors du lancement du conteneur. | Tableau (cf. docker start --help ou Documentation ) |
WEBSERVICE_IP |
L'adresse IP du conteneur du webservice. | Chaîne de caractères |
WEBSERVICE_PORT |
Le port exposé du conteneur attribué au webservice. | Entier |
WEBSERVICE_VOLUME_LOCAL |
Le chemin vers le dossier que l'on souhaite partager avec le conteneur. | Chaîne de caractères (cf. Documentation) |
WEBSERVICE_VOLUME_TARGET |
Le chemin où sera créé le lien avec le volume dans le conteneur. | Chaîne de caractères (cf. Documentation) |
CONTAINERS_NAMES[0]
, IMAGES_NAMES[0]
, DOCKERFILE_PATH[0]
, etc...
seront utilisés pour créer le même conteneur. Tous les paramètres de type tableau doivent donc IMPÉRATIVEMENT être de de la même taille !
Voici la liste des variables d'environnement utilisées lors de l'exécution des conteneurs.
Paramètre | Description | Format |
---|---|---|
WEBSERVICE_IP |
Définit à l'explorateur de fichiers PHP où se situe le webservice. | Chaîne de caractères |
WEBSERVICE_PORT |
Définit à l'explorateur de fichiers PHP le port du web service. | Entier |
STARTING_DIR_FILE_EXPLORER |
Chemin (relatif ou non) définissant le point de départ de l'explorateur. | Chaîne de caractères |
STARTING_DIR_WEBSERVICE |
Chemin (relatif ou non) définissant le point de départ du webservice. | Chaîne de caractères |
La configuration du webservice se fait à la foi par les variables "normales" et par les variables d'environnement.
Paramètre | Valeur | Explications |
---|---|---|
CONTAINERS_NAMES |
webservice |
Le nom du conteneur sera webservice . |
IMAGES_NAMES |
webservice |
Le nom de l'image sera webservice . |
DOCKERFILE_PATH |
./webservice/ |
Le chemin vers le dossier contenant le Dockerfile pour créér l'image sera ./webservice/ . |
RUN_ARGS |
-d -p ${WEBSERVICE_PORT}:8080 -v ${WEBSERVICE_VOLUME_LOCAL}:${WEBSERVICE_VOLUME_TARGET} -e STARTING_DIR=${STARTING_DIR_WEBSERVICE} --name ${CONTAINERS_NAMES[0]} ${IMAGES_NAMES[0]} |
On souhaite créer un conteneur de manière détachée. On créé un mapping de port c.à.d. que l'on ouvre le port WEBSERVICE_PORT à l' extérieur du conteneur et on le lie au port 8080 à l'intérieur du conteneur. On y accède donc depuis l'adresse WEBSERVICE_IP:WEBSERVICE_PORT . On lie le volume WEBSERVICE_VOLUME_LOCAL au dossier WEBSERVICE_VOLUME_TARGET du conteneur. On définit STARTING_DIR_WEBSERVICE comme étant le dossier courrant du webservice. On donne le nom webservice au conteneur et on le créé à partir de l'image webservice . |
START_ARGS |
On ne définit pas de paramètre de lancement. spéciaux. | |
WEBSERVICE_PORT |
8080 |
On souhaite accéder au serveur Tomcat, depuis l'extérieur, sur le port 8080 . |
Il est possible de définir des paramètres d'execution du web service grâce à des variables d'environnement. Il n'est pas obligatoire de les définir.
Paramètre | Valeur | Explications |
---|---|---|
STARTING_DIR |
Utilise la variable de configuration WEBSERVICE_VOLUME_TARGET du fichier config (cf. 2.1.1. Paramètres des conteneurs) |
On définit le dossier courrant du webservice comme étant celui lié au volume du conteneur. |
La configuration de l'explorateur de fichiers PHP se fait à la foi par les variables "normales" et par les variables d'environnement.
Paramètre | Valeur | Explications |
---|---|---|
CONTAINERS_NAMES |
encode-explorer |
Le nom du conteneur sera encode-explorer . |
IMAGES_NAMES |
encode-explorer |
Le nom de l'image sera encode-explorer . |
DOCKERFILE_PATH |
./encode-explorer/ |
Le chemin vers le dossier contenant le Dockerfile pour créér l'image sera ./encode-explorer/ |
RUN_ARGS |
-d -p 80:80 ${WEBSERVICE_IP_ARGS}-e WEBSERVICE_PORT=${WEBSERVICE_PORT} -e STARTING_DIR=${STARTING_DIR_FILE_EXPLORER} --name ${CONTAINERS_NAMES[1]} ${IMAGES_NAMES[1]} |
On souhaite créer un conteneur de manière détachée. On créé un mapping de port c.à.d. que l'on ouvre le port 80 à l' extérieur du conteneur et on le lie au port 80 à l'intérieur du conteneur. On y accède donc depuis l'adresse WEBSERVICE_IP:WEBSERVICE_PORT . On définit 2 ou 3 variables d'environnement :
encode-explorer au conteneur et on le créé à partir de l'image encode-explorer . |
START_ARGS |
On ne définit pas de paramètre de lancement. |
L'application de l'explorateur comporte de nombreux paramètres de configurations répartis dans les fichiers du dossier encode-explorer/application/config.
Certains peuvent être définis grâce à des variables d'environnement (facultatif). Pour cela, voir la section ci-dessous.
Il n'est pas obligatoire de définir ces varibales d'environnement.
Paramètre | Valeur | Explications |
---|---|---|
WEBSERVICE_IP |
Utilise la variable de configuration WEBSERVICE_IP du fichier config (cf. 2.1.1. Paramètres des conteneurs) |
Définit où se situe le webservice. |
WEBSERVICE_PORT |
Utilise la variable de configuration WEBSERVICE_PORT du fichier config (cf. 2.1.1. Paramètres des conteneurs |
Définit le port du web service. |
STARTING_DIR |
./ |
On définit le point de départ de l'explorateur comme étant le dossier courrant du contener du webservice. |
Commande | Description |
---|---|
make build |
Créé l'image et les conteneurs du tableau CONTAINERS_NAMES . |
make rebuild |
Efface les conteneurs dont le nom est dans le tableau CONTAINERS_NAMES . Créé l'image et les conteneurs du tableau CONTAINERS_NAMES . |
make run |
Créé les conteneurs du tableau CONTAINERS_NAMES . |
make start |
Lance les conteneurs du tableau CONTAINERS_NAMES . |
make stop |
Arrête les conteneurs du tableau CONTAINERS_NAMES . |
make clean |
Efface les conteneurs dont le nom est dans le tableau CONTAINERS_NAMES . |
Lors de la première utilisation, se placer dans le dossier stage-docker
et suivre les instructions ou commandes suivantes :
make build
➔ La 1ère fois, la création des images peut prendre quelques minutes.- Vous pouvez vérifier que les images ont bien été créées en tapant la commande
sudo docker image ls | grep -E "(encode-explorer)|(webservice)"
. - Si 2 lignes s'affichent, passez à l'étape suivante sinon lancez la commande
./scripts/build.sh
et analysez les journaux d'exécution. make run
- Vous pouvez vérifier que les conteneurs ont été créés et qu'ils sont bien en fonctionnement grâce à la commande
sudo docker ps | grep -E "(encode-explorer)|(webservice)"
. Si vous obtenez 2 lignes 🎉 FÉLICITATIONS ! 🎉 L'installation s'est déroulée sans problèmes ! - Si rien ne s'affiche, tapez
sudo docker ps -a | grep -E "(encode-explorer)|(webservice)
et vérifiez que vous obtenez bien 2 lignes. - Si 2 lignes s'affichent lancez la commande
make start
et réitérez l'étape précédente. Si vous obtenez 2 lignes 🎉 FÉLICITATIONS ! 🎉 L'installation s'est déroulée sans (trop de) problèmes ! - Si vous n'obtenez toujours pas de résultat lancez la commande
./scripts/run.sh
et analysez les journaux d'exécution.