J'essaie d'exécuter une application javascript sur localhost:8000 en utilisant docker. Une partie de ce que je voudrais faire est de permuter certains fichiers de configuration basés sur la commande docker run, je voudrais passer une variable d'environnement dans le conteneur afin que le bash script puisse l'utiliser comme paramètre.
Voici à quoi ressemble mon fichier docker :
FROM nginx
COPY . /usr/share/nginx/html
CMD ["bash","/usr/share/nginx/html/runfile.sh"]
Et le script de bash ressemble à ça :
#!/bin/bash
if [ "$SECURITY_VERSION" = "OPENAM" ]; then
sed -i -e 's/localhost/openam/g' authConfig.js
fi
docker run -p 8000:80 missioncontrol:latest -e SECURITY_VERSION="TEST"
Docker me donne une exception disant -e exec command not found.
Cependant, si je modifie le dockerfile pour utiliser ENTRYPOINT au lieu de CMD, le drapeau -e fonctionne mais le serveur web ne démarre pas.
Il y a quelque chose qui m'échappe ? Est-ce que le point d'entrée est remplacé ou quelque chose comme ça ?
EDIT :
J'ai donc mis à jour mon fichier docker pour utiliser ENTRYPOINT ["bash","/usr/share/nginx/html/runfile.sh", ";", " nginx -g daemon off;"]
Mais le conteneur docker s'arrête toujours. Y a-t-il quelque chose qui m'échappe ?