Je dois exécuter deux commandes sur le fichier Docker, mais les deux commandes de Thèses attachent le terminal et bloquent l'exécution de la suivante.
dockerFile:
FROM sinet/nginx-node:latest
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
RUN git clone https://name:[email protected]/joaocromg/front-web-alferes.git
WORKDIR /usr/src/app/front-web-alferes
RUN npm install
RUN npm install bower -g
RUN npm install gulp -g
RUN bower install --allow-root
COPY default.conf /etc/nginx/conf.d/
RUN nginx -g 'daemon off;' & # command 1 blocking
CMD ["gulp watch-dev"] # command 2 not executed
Quelqu'un sait comment puis-je résoudre ce problème?
Je vous suggère d'essayer Supervisord dans ce cas. http://supervisord.org/
Edit: Voici un exemple dockerisé de httpd and ssh daemon: https://RIPTTUNIAL.com/docker/example/14132/dockerfile-plus-supervisord-conf
La réponse ici est que RUN nginx -g 'daemon off;'
Démarrez intentionnellement NGinx au premier plan, qui bloque votre deuxième commande. Cette commande est destinée à lancer des conteneurs Docker avec cela comme processus de premier plan. En cours RUN nginx
Start Nginx, créer des nœuds maîtres et enfants et (espérons-le) sortir avec un code d'état zéro. Bien que mentionné ci-dessus, ce n'est pas l'utilisation prévue de la course. Un script Bash fonctionnerait donc mieux dans ce cas.