gpt4 book ai didi

mongodb - 启动时如何在Docker容器中创建新的Mongodb?

转载 作者:行者123 更新时间:2023-12-02 21:24:40 25 4
gpt4 key购买 nike

真正简单的Dockerfile:

FROM mongo:3.2.10

#create DB directory
RUN mkdir -p /data/db

EXPOSE 27017

CMD ["mongod"]

运行容器时,我想自动创建一个名为 "CBDB"的数据库。我不想手动运行mongo shell,希望自动创建新的数据库。

谢谢!

最佳答案

您可以将mongo作为守护程序执行,并编写要在入口点执行的脚本。

https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/

作为一个简单的示例,使用以下Dockerfile和入口点:

FROM mongo:3.2.10

#create DB directory
RUN mkdir -p /data/db

EXPOSE 27017

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

ENTRYPOINT ["./entrypoint.sh"]

在入口点,您可以将mongo用作守护程序,并执行一个内衬来创建数据库和集合。记住要使用tail(或类似supervisor)来确保容器不会停止:
#!/bin/bash
mongod --fork --logpath /var/log/mongo.log
mongo --eval "db = db.getSiblingDB('new_db'); db.createCollection('new_collection');"
tail -f /var/log/mongo.log

关于mongodb - 启动时如何在Docker容器中创建新的Mongodb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40556237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com