很多抄来抄去写的都是 先 --auth 启动后再exec bash进入容器 添加用户名密码
这种是错误的,都已经开启auth 用户权限验证了是不能进入容器添加用户名和密码的!!!
真正的做法 可以去dockerhub看到官方已经写了真正的用法
地址: https://hub.docker.com/_/mongo
最后命令如下:
sudo docker run -d -p 27017:27017 --name mongodb -e MONGO_INITDB_ROOT_USERNAME=用户名 -e MONGO_INITDB_ROOT_PASSWORD=密码 -v $PWD/db:/data/db mongo
替换用户名 密码 映射路径 端口等
注意
- 如果前面做了很多次 失败了 而且映射的db都在一个位置 那么需要删除重新创建db目录(宿主机)
- 如果mongo客户端版本过低的话 mongo命令行登录会失败
Error: 2 { ok: 0.0, errmsg: "Auth mechanism not specified", code: 2, codeName: "BadValue" }
更新客户端到最新版即可