Ich mache das mit einem anderen Docker-Container, dessen einziger Zweck darin besteht, Mongo zu starten und dann zu beenden. Ich vermute, dass dies die gleiche Idee wie die von ebaxt ist, aber als ich nach einer Antwort darauf suchte, wollte ich nur ein schnelles, aber unkompliziertes Beispiel sehen. Also hier ist meins:
docker-compose.yml
mongodb:
image: mongo
ports:
- "27017:27017"
mongo-seed:
build: ./mongo-seed
links:
- mongodb
# my webserver which uses mongo (not shown in example)
webserver:
build: ./webserver
ports:
- "80:80"
links:
- mongodb
mongo-seed/Dockerfile
FROM mongo
COPY init.json /init.json
CMD mongoimport --host mongodb --db reach-engine --collection MyDummyCollection --type json --file /init.json --jsonArray
mongo-seed/init.json
[
{
"name": "Joe Smith",
"email": "[email protected]",
"age": 40,
"admin": false
},
{
"name": "Jen Ford",
"email": "[email protected]",
"age": 45,
"admin": true
}
]