一、背景
在宿主機centos上啟一個Mongo容器,暴露端口21117,並設置用戶名,密碼(root/mongo)
docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles --auth
在宿主機上通過mongo客戶端來連接
mongo --port 21117 admin
結果db.auth后,報錯:
原因:mongo客戶端版本較低導致,centos之前安裝的版本為mongo 2.6.12,而docker對應的mongo版本為3.6,那既然因為版本過低導致,那就把宿主機上的mongo升級一下了
二、具體操作
1.配置MongoDB的yum源
新建或修改文件,vim /etc/yum.repos.d/mongodb-org-3.4.repo
#添加以下內容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
#這里可以修改 gpgcheck=0, 省去gpg驗證
yum makecache
2、卸載舊版mongo
yum remove mongodb-2.6.12-6.el7.x86_64
yum remove mongodb-server-2.6.12-6.el7.x86_64
3、安裝新版mongo
yum -y install mongodb-org
4、查看mongo版本
mongo --version
5、再次連接mongo服務
mongo --port 21117
可以看到,問題已經解決了~
三、常用命令
查看mongo安裝位置 :
whereis mongod
查看修改配置文件 :
vim /etc/mongod.conf
3.啟動MongoDB
啟動mongodb :
systemctl start mongod.service
停止mongodb :
systemctl stop mongod.service
查到mongodb的狀態:
systemctl status mongod.service