web-dev-qa-db-fra.com

Commandes pour exécuter le processus d'arrière-plan dans Docker CMD

Je crée une image Docker à l'aide d'un Dockerfile. Je voudrais exécuter quelques scripts tout en démarrant le conteneur docker. Actuellement, j'ai un script Shell pour exécuter tous les processus nécessaires

CMD ["sh", "start.sh"]

Je voudrais exécuter une commande Shell avec un processus exécuté en exemple en arrière-plan

CMD ["sh", "-c", "mongod --dbpath/test &"]

32
Jeevitha G

Outre les commentaires sur votre question qui soulignaient déjà quelques points sur les meilleures pratiques de Docker, vous pouvez de toute façon démarrer un processus en arrière-plan à partir de votre start.sh script et conservez ce start.sh script lui-même dans premier plan à l'aide de la commande Nohup et de l'esperluette (&). Je ne l'ai pas essayé avec mongod mais quelque chose comme ce qui suit dans votre start.sh le script pourrait fonctionner:

#!/bin/sh
...
Nohup sh -c mongod --dbpath /test &
...
26
h3nrik