Tôi làm điều này bằng cách sử dụng một vùng chứa docker khác có mục đích duy nhất là gieo hạt mongo, sau đó thoát. Tôi nghi ngờ đây là ý tưởng giống với ý tưởng của ebaxt, nhưng khi tôi tìm kiếm câu trả lời cho điều này, tôi chỉ muốn xem một ví dụ nhanh chóng và đơn giản nhưng đơn giản. Vì vậy, đây là của tôi:
docker -omp.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
}
]