Solution de contournement
J'avais besoin de copier le dossier sur le serveur en fonction des variables ENV. J'ai pris l'image du serveur vide. a créé la structure de dossier de déploiement requise dans le dossier local. puis ajouté ci-dessous la ligne à DockerFile copiez le dossier dans le conteneur. I n dernière ligne a ajouté un point d'entrée pour exécuter init file.sh avant que docker ne démarre le serveur.
#below lines added to integrate testing framework
RUN mkdir /mnt/conf_folder
ADD install /mnt/conf_folder/install
ADD install_test /mnt/conf_folder/install_test
ADD custom-init.sh /usr/local/bin/custom-init.sh
ENTRYPOINT ["/usr/local/bin/custom-init.sh"]
Ensuite, créez le fichier custom-init.sh en local avec un script comme ci-dessous
#!/bin/bash
if [ "${BUILD_EVN}" = "TEST" ]; then
cp -avr /mnt/conf_folder/install_test/* /mnt/wso2das-3.1.0/
else
cp -avr /mnt/conf_folder/install/* /mnt/wso2das-3.1.0/
fi;
Dans le fichier docker-compose sous les lignes.
environnement: - BUILD_EVN = TEST
Ces modifications copient le dossier dans le conteneur lors de la génération du docker. lorsque nous exécutons docker-compose, copiez ou déployez le dossier requis sur le serveur avant le démarrage du serveur.