Я использую docker-compose для создания 3 различных контейнеров для экземпляров frontend, backend и mongo.3 из них запущены и связаны между собой, но мне нужно создать пользователя администратора в БД, как только будет запущен экземпляр mongo.Согласно документации по образу монго, каждый скрипт, расположенный на docker-entrypoint-initdb.d
, должен быть запущен после создания экземпляра.Как я уже сказал, я использую docker compose, поэтому для mongo нет Dockerfile
, просто сервис, использующий официальный образ mongo, поэтому я установил громкость для этого файла [не знаю, если из-за этого скрипт неработает, потому что это символическая ссылка вместо скопированного файла].Поэтому я попытался запустить команду для запуска этого скрипта, но она не работает, но если тогда я сделаю docker exec
для экземпляра mongodb и сам запустлю скрипт, он будет работать и создаст пользователя-администратора.
Итак, как мне запустить этот скрипт после создания экземпляра?
это мой docker-compose.yml
файл
mongodb:
container_name: mongodb
image: mongo
command: /bin/bash "cd /docker-entrypoint-initdb.d && mongo-init.sh"
networks:
- backend-network
volumes:
- './db:/data/db'
- './mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh'
tty: true
restart: always