安装MongoDB容器
-e MONGO_INITDB_ROOT_USERNAME创建管理员账号
-e MONGO_INITDB_ROOT_PASSWORD=123456创建密码
映射容器服务的 27017 端口到宿主机的 27017 端口
docker run -d -p 27017:27017 --name mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo
进入容器
docker exec -it mongodb /bin/bash
登录mongo,登录的数据库是admin数据库
mongo -u 'admin' -p '123456' --authenticationDatabase 'admin'
此时提示 bash: mongo: command not found
,使用mongod命令查看版本。
root@909c6e9bdf2c:/# mongod --version
db version v6.0.5
Build Info: {
"version": "6.0.5",
"gitVersion": "c9a99c120371d4d4c52cbb15dac34a36ce8d3b1d",
"openSSLVersion": "OpenSSL 3.0.2 15 Mar 2022",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "ubuntu2204",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
这是因为MongoDB 6.0全面弃用了mongo
而使用mongosh
,以下是官网说明:
https://www.mongodb.com/docs/mongodb-shell/#the-mdb-shell-versus-the-legacy-mongo-shell
解决方法
mongosh -u 'admin' -p '123456' --authenticationDatabase 'admin'
成功登录
Current Mongosh Log ID: 6455c721e81416ea3706d5ea
Connecting to: mongodb://<credentials>@127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&authSource=admin&appName=mongosh+1.8.0
Using MongoDB: 6.0.5
Using Mongosh: 1.8.0
For mongosh info see: https://docs.mongodb.com/mongodb-shell/