我想在事务中使用Mongo,所以我尝试设置一个副本集(只包含一个Mongo节点)。
我想在数据库启动后自动运行rs.initiate()。为此,我在initdb.d中使用了一个脚本。
我还需要使用replSet选项启动mongo节点,因此我更新了入口点值。当入口点是我的新命令时,我在docker-entrypoint-initdb.d中的脚本不会运行。当我注释掉我的新入口点时,脚本就会运行。
我知道我可以将我的docker-compose up命令和docker-exec ... 'rs.initiate()'命令封装在一个脚本中,然后调用它而不是docker-compose,但这感觉就像黑客一样。
如何使用replSet生成Mongo节点并运行rs.initiate()
docker-compose.yaml
version: "3"
services:
order-db:
image: mongo:latest
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: mongo
# entrypoint: ["mongod", "--bind_ip_all", "--replSet", "order"]
volumes:
- ./docker-entrypoint-initdb.d/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
- ./docker-entrypoint-initdb.d/run.sh:/docker-entrypoint-initdb.d/run.sh:ro
- ./docker-entrypoint-initdb.d/arun.sh:/docker-entrypoint-initdb.d/arun.sh:rodocker-entrypoint-initdb.d/mongo-init.js
rs.initiate();
db.createCollection("just-testing-to-see-if-this-file-runs");docker-entrypoint-initdb.d/a-run.sh
echo "running aaaaaaaaaaaaaaaaaaaaaaaaaaa"docker-entrypoint-initdb.d/run.sh
echo "running!!!!!!!!"发布于 2022-05-19 21:42:17
https://stackoverflow.com/questions/72305116
复制相似问题