Docker-containrar har vanligtvis inte ett fullständigt init-system och interaktion med upstart kommer inte att fungera inuti en docker-container. (I teorin är det möjligt, men det motverkar syftet med att ha en lätt stack)
Vad detta innebär är att du startar en dockningscontainer, den skulle köra ett enda kommando "/usr/bin/mongod"
Exempel på att köra mongodb i en dockningsbehållare:https://docs.docker.com/samples /library/mongo/
Eftersom du kör installationskommandon med en interaktiv docker-container, är din skaltolkare det enda kommandot så långt som docker anses vara. Väl i den interaktiva sessionen kan du köra mongod i bakgrunden (som du gjorde) och starta mongo-klientsessionen.
Ett annat sätt skulle vara att köra dessa instruktioner som en del av Dockerfile . Du kan hänvisa till mongodb-exempel .
Du kanske också vill överväga några av de officiella mongo db-bilderna som redan publicerats i docker hub:
https://registry.hub.docker.com/_/mongo/