Am Ende habe ich die Docker-Datei entfernt, die Befehle in einem Bash-Skript hinzugefügt und dann das Skript aus der Docker-Compose-Datei aufgerufen. Ich habe ein Skript anstelle eines Befehls in der Docker-Compose-Datei verwendet, da ich mehrere Dateien importiere, also mehrere Befehle, die in meinem Beispiel nicht angezeigt werden. Ich musste mongo:3.2.6 verwenden, damit das funktioniert. Es mag andere Versionen geben, aber diese funktioniert sicher.
docker-compose.yml
version: '3'
services:
mongodb:
image: mongo:3.2.6
ports:
- 27017:27017
mongo_seed:
image: mongo:3.2.6
links:
- mongodb
volumes:
- ./mongo-seed:/mongo-seed
command:
/mongo-seed/import.sh
/mongo-seed/import.sh
#! /bin/bash
mongoimport --host mongodb --db test --collection census --type json --file /mongo-seed/census.json --jsonArray