Quoi qu'il en soit pour moi de savoir quand la commande est terminée à l'intérieur du conteneur Docker? J'ai créé un conteneur de docker et capable d'envoyer une commande de mon local dans le conteneur Docker par Docker Exec
Jusqu'à présent, dans mon script Bash, j'utilise dormir pour attendre la commande "CD racine: la commande d'installation de NPM" terminée à l'intérieur du conteneur Docker. Si je n'ai pas de sommeil, FAIT est imprimé immédiatement après que l'installation de NPM soit envoyée dans le conteneur Docker. Comment puis-je supprimer le sommeil ainsi fait est imprimé uniquement après NPM installer code> est fini à l'intérieur du conteneur Docker? P>
Docker Exec -D
3 Réponses :
exécutez comme processus d'arrière-plan & code>, puis attendre code> pour celui-ci:
Si vous omettez le -d code> (détacher) le docker exécuté code> ne reviendra que après l'achèvement (et pas immédiatement), donc aucun attendre code> sera nécessaire. p>
Ne vous arrêtez pas la commande si vous souhaitez le garder en cours d'exécution au premier plan (le drapeau -d code>):
N'installez jamais de logiciel dans un conteneur de docker en cours d'exécution: il sera perdu dès que le conteneur sort. Si vous essayez d'exécuter des commandes telles que
NPM install code>, un dockerfile est meilleur; Voir le didacticiel officiel Docker sur Images personnalisées .