【发布时间】:2020-10-23 21:39:58
【问题描述】:
我正在尝试在 Docker 中播种我的 MongoDB。 我的 docker-compose.yml 文件非常简单,这是我的 音量:
...
volumes:
- ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
- ./mongo/mongod.conf:/etc/mongod.conf:ro
- ./mongo/mongo-volume:/data/db
...
我将 init-mongo.js 映射为一个卷,这是它的内容:
db.createUser({
user: 'root',
pwd: 'toor',
roles: [
{
role: 'readWrite',
db: 'testDB',
},
],
});
db.createCollection('users', { capped: false });
db.createCollection('test', { capped: false });
db.test.insert([
{ "item": 1 },
{ "item": 2 },
{ "item": 3 },
{ "item": 4 },
{ "item": 5 }
]);
用户root和数据库testDB以及集合users和test都创建没有问题。
问题是db.test.insert([]) 似乎一起被遗漏了,并且没有文档被插入到test 集合中。
任何想法为什么会这样? 我非常愿意让这个工作,并且非常感谢任何帮助。
谢谢, -凯文
【问题讨论】:
-
创建用户运行没有问题,我在使用行出现错误:未捕获的异常:SyntaxError:意外令牌:标识符:@/docker-entrypoint-initdb.d/mongo-init.js :14:4 加载失败:/docker-entrypoint-initdb.d/mongo-init.js 我已经稍微更改了文件,但错误出现在“使用 testdb”行(我的文件中没有引号)跨度>
标签: mongodb docker docker-compose