Docker-containers hebben meestal geen volledig init-systeem en interactie met upstart werkt niet in een docker-container. (In theorie is het mogelijk, maar het verslaat het doel van een lichtgewicht stack)
Wat dit impliceert is dat je een docker-container start, het zou een enkele opdracht "/usr/bin/mongod"
uitvoerenVoorbeeld van het uitvoeren van mongodb in een docker-container:https://docs.docker.com/samples /bibliotheek/mongo/
Omdat u installatieopdrachten uitvoert met behulp van een interactieve docker-container, is uw shell-interpreter de enige opdracht voor zover docker wordt beschouwd. Eenmaal in een interactieve sessie, kunt u mongod op de achtergrond uitvoeren (zoals u deed) en de mongo-clientsessie starten.
Een andere manier is om deze instructies uit te voeren als onderdeel van Dockerfile . U kunt verwijzen naar mongodb-voorbeeld .
Misschien wilt u ook enkele van de officiële mongo db-afbeeldingen overwegen die al in de docker-hub zijn gepubliceerd:
https://registry.hub.docker.com/_/mongo/