I container Docker in genere non dispongono di un sistema di inizializzazione completo e l'interazione con upstart non funzionerà all'interno di un container Docker. (In teoria è possibile, ma vanifica gli scopi di avere uno stack leggero)
Ciò implica che avvii un contenitore mobile, eseguirà un singolo comando "/usr/bin/mongod"
Esempio di esecuzione di mongodb all'interno di un contenitore docker:https://docs.docker.com/samples /libreria/mongo/
Inoltre, poiché stai eseguendo i comandi di installazione utilizzando un contenitore docker interattivo, l'interprete della shell è l'unico comando per quanto riguarda la finestra mobile. Una volta nella sessione interattiva, puoi eseguire mongod in background (come hai fatto tu) e avviare la sessione del client mongo.
Un altro modo sarebbe eseguire queste istruzioni come parte di Dockerfile . Puoi fare riferimento a esempio di mongodb .
Potresti anche prendere in considerazione alcune delle immagini ufficiali di mongo db già pubblicate in Docker Hub:
https://registry.hub.docker.com/_/mongo/