MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie setze ich eine Mongo-Datenbank mit Docker-Compose?

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
  }
]