在docker-compose上为MongoDB初始化新用户和数据库,可以通过以下步骤完成:
version: '3'
services:
mongodb:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
ports:
- 27017:27017
volumes:
- ./data:/data/db
上述配置使用了官方的MongoDB镜像,并设置了root用户的用户名和密码。同时,将MongoDB的数据存储在本地的./data
目录下。
db.createUser({
user: 'myuser',
pwd: 'mypassword',
roles: [
{
role: 'readWrite',
db: 'mydatabase'
}
]
});
上述代码创建了一个名为myuser
的用户,密码为mypassword
,并赋予了readWrite
权限。同时,创建了一个名为mydatabase
的数据库。
version: '3'
services:
mongodb:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
ports:
- 27017:27017
volumes:
- ./data:/data/db
- ./init.js:/docker-entrypoint-initdb.d/init.js
上述配置将init.js文件挂载到MongoDB容器的/docker-entrypoint-initdb.d
目录下,MongoDB容器会在启动时自动执行该目录下的脚本。
docker-compose up -d
上述命令会在后台启动MongoDB服务,并执行初始化脚本。初始化完成后,你可以通过MongoDB客户端连接到MongoDB服务,并使用新创建的用户和数据库。
总结: 通过以上步骤,你可以在docker-compose上为MongoDB初始化新用户和数据库。这样可以方便地在容器化环境中管理和部署MongoDB,并确保每次启动容器时都能自动执行初始化操作。腾讯云提供了云原生容器服务TKE,可以帮助你快速搭建和管理容器集群,更多详情请参考TKE产品介绍。
第四期Techo TVP开发者峰会
云+社区技术沙龙[第17期]
第五届Techo TVP开发者峰会
第五届Techo TVP开发者峰会
云+社区技术沙龙[第9期]
腾讯云消息队列数据接入平台(DIP)系列直播
高校公开课
腾讯云GAME-TECH沙龙
DBTalk
DBTalk技术分享会
领取专属 10元无门槛券
手把手带您无忧上云