很多抄來抄去寫的都是 先 --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" }
更新客戶端到最新版即可