Tengo un archivo de redacción de docker que, en adelante, iniciará un servicio mongo. Lo que quiero hacer es tan pronto como inicie el servicio, quiero crear una base de datos llamada 'abc' y crear una colección 'xyz' en ella.
Esto es lo que he probado hasta ahora
archivo docker-compose
services: database: image: mongo ports: - 27017:27017 command: sh initialSetup.shme sale el siguiente error
No estoy seguro de por qué no se puede abrir el script.
#!/bin/sh mongo < mongoInitialSetup.jsy mongoInitialSetup.js
conn = new Mongo(); db = db.getSiblingDB('abc'); db.createCollection('xyz', {});Complemento: Sería genial si alguien pudiera ayudarme a hacer esto solo con el script bash sin usar el archivo js
Gracias por adelantado
La siguiente solución funcionó
services: database: image: mongo env_file: .env ports: - 27017:27017 environment: MONGO_INITDB_DATABASE: ${DATABASE_NAME} volumes: - ./initialSetup.sh:/docker-entrypoint-initdb.d/initialSetup.shy en initialSetup.sh , tuve
mongo -- "$MONGO_INITDB_DATABASE" <<EOF db.createCollection('images', {}); EOF