Dělám to pomocí jiného kontejneru docker, jehož jediným účelem je nasadit mongo a poté odejít. Mám podezření, že je to stejný nápad jako u ebaxtu, ale když jsem na to hledal odpověď, chtěl jsem vidět rychlý a špinavý, ale přímočarý příklad. Takže tady je můj:
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
}
]