Docker 安装MongoDB
拉取MongoDB镜像
docker pull mongo:latest
配置映射目录
mkdir -p /data/mongodb/datadb
chmod -R 777 /data/mongodb/datadb
构建Docker容器
docker run -dit -p 27070:27017 -v /data/mongodb/datadb:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=Abc123456 --privileged=true --restart=always --name mongodb mongo
# 自定义端口号的方式
mkdir -p /data/mongodb/conf
vim /data/mongodb/conf/mongod.conf
net:
port: 27070
docker run -dit --net=host -p 27070:27070 -v /data/mongodb/datadb:/data/db -v /data/mongodb/conf:/etc/mongo -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=Abc123456 --privileged=true --restart=always --name mongodb mongo --config /etc/mongo/mongod.conf
验证管理员账号
docker exec -it mongodb mongo admin
# 新版本:
docker exec -it mongodb mongosh admin
# 注意这里的端口改为了27070,所以需要指定端口:
docker exec -it mongodb mongosh --port 27070 admin
db.auth("admin","Abc123456");
若无管理员用户,可通过以下命令创建:
db.createUser({ user: 'admin', pwd: 'Abc123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
创建用户
db.createUser({ user: 'test', pwd: 'test123', roles: [ { role: "readWrite", db: "mydb" } ] });
db.auth("test","test123");
用户:test
密码:test123
数据库:mydb
其他命令
切换数据库
use mydb