Les conteneurs Docker n'ont généralement pas de système d'initialisation complet et l'interaction avec upstart ne fonctionnera pas à l'intérieur d'un conteneur Docker. (En théorie, c'est possible, mais cela va à l'encontre de l'objectif d'avoir une pile légère)
Cela implique que vous démarrez un conteneur docker, il exécuterait une seule commande "/usr/bin/mongod"
Exemple d'exécution de mongodb dans un conteneur Docker :https://docs.docker.com/samples /bibliothèque/mongo/
De plus, puisque vous exécutez des commandes d'installation à l'aide d'un conteneur docker interactif, votre interpréteur de shell est la seule commande en ce qui concerne docker. Une fois en session interactive, vous pouvez exécuter mongod en arrière-plan (comme vous l'avez fait) et démarrer la session client mongo.
Une autre façon serait d'exécuter ces instructions dans le cadre de Dockerfile . Vous pouvez vous référer à exemple mongodb .
Vous pouvez également envisager certaines des images officielles de mongo db déjà publiées dans docker hub :
https://registry.hub.docker.com/_/mongo/