MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment amorcer une base de données mongo à l'aide de docker-compose ?

Je fais cela en utilisant un autre conteneur docker dont le seul but est de semer mongo, puis de quitter. Je soupçonne que c'est la même idée que celle d'ebaxt, mais quand je cherchais une réponse à cela, je voulais juste voir un exemple simple et rapide, mais simple. Alors voici le mien :

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