docker+mongodb设置数据库的账号和密码
要在Docker中运行的MongoDB实例上设置账号和密码,你需要在启动容器时指定正确的环境变量。以下是设置用户名和密码的步骤和示例:
- 使用环境变量
MONGO_INITDB_ROOT_USERNAME
和MONGO_INITDB_ROOT_PASSWORD
来设置root用户的用户名和密码。 - 如果你想要创建一个具有特定权限的新用户,可以使用
mongoinit
脚本。
下面是一个docker-compose.yml
文件的示例,它演示了如何设置MongoDB容器的root用户和密码,以及如何使用mongoinit
脚本创建新用户:
version: '3.1'
services:
mongodb:
image: mongo:latest
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: rootuser
MONGO_INITDB_ROOT_PASSWORD: rootpass
volumes:
- ./mongoinit:/docker-entrypoint-initdb.d
# mongoinit目录中应该有一个脚本来创建新用户
在./mongoinit
目录中,你需要有一个MongoDB脚本来创建新用户,例如create-user.js
:
db = db.getSiblingDB('your_database');
db.createUser({
user: 'newuser',
pwd: 'newpass',
roles: [
{ role: 'readWrite', db: 'your_database' }
]
});
确保将./mongoinit
目录的路径替换为你本地文件系统中包含MongoDB初始化脚本的实际路径。当容器启动时,MongoDB将会执行这些脚本来创建root用户和新用户。
评论已关闭