Kontenery Docker zazwyczaj nie mają pełnego systemu init, a interakcja z upstartem nie będzie działać wewnątrz kontenera Docker. (Teoretycznie jest to możliwe, ale jest to sprzeczne z celami posiadania lekkiego stosu)
Oznacza to, że uruchamiasz kontener dockera, który uruchomiłby jedno polecenie "/usr/bin/mongod"
Przykład uruchamiania mongodb w kontenerze dockera:https://docs.docker.com/samples /biblioteka/mongo/
Ponadto, ponieważ uruchamiasz polecenia instalacji przy użyciu interaktywnego kontenera docker, interpreter powłoki jest pojedynczym poleceniem, jeśli chodzi o docker. Będąc w sesji interaktywnej, możesz uruchomić mongod w tle (tak jak to zrobiłeś) i rozpocząć sesję klienta mongo.
Innym sposobem byłoby uruchomienie tych instrukcji w ramach Dockerfile . Możesz zapoznać się z przykładem mongodb .
Możesz również rozważyć niektóre z oficjalnych obrazów mongo db już opublikowanych w docker hub:
https://registry.hub.docker.com/_/mongo/