Docker安裝Mongo


前言

本章將使用docker安裝mongo,前提條件是已經安裝完docker並會使用docker。
如果還沒有安裝docker,可以參考在CentOS7下安裝Docker
如果還不會docker,但需要學習mongodb相關的知識,可以參考另一篇博客,那里詳細講述了如何在Linux上安裝mongodb環境。

附上博客鏈接 博客傳送門

安裝mongo

在Docker Hub上查找鏡像


拉取官方鏡像

[root@e2ab0x9jme3furrd ~]# docker pull mongo

查看本地鏡像

[root@e2ab0x9jme3furrd ~]# docker images

創建文件夾

[root@e2ab0x9jme3furrd ~]# mkdir -p /data/mongo/data
[root@e2ab0x9jme3furrd ~]# mkdir -p /data/mongo/conf
[root@e2ab0x9jme3furrd ~]# mkdir -p /data/mongo/backup
[root@e2ab0x9jme3furrd ~]# cd /data/mongo
[root@e2ab0x9jme3furrd mongo]# ll
total 0
drwxr-xr-x 2 root root 6 Nov 30 15:46 backup
drwxr-xr-x 2 root root 6 Nov 30 15:46 conf
drwxr-xr-x 2 root root 6 Nov 30 15:45 data

運行容器

[root@e2ab0x9jme3furrd mongo]# docker run -v /data/mongo/data:/data/db -v /data/mongo/backup:/data/backup -v /data/mongo/conf:/data/configdb --name mongod -p 27017:27017 -d mongo --auth

查看容器狀態

[root@e2ab0x9jme3furrd mongo]# docker ps

創建一個新用戶

執行完前面的步驟,我們已經可以進入容器,並且可以打開mongo的命令行窗口。但是這樣存在一個問題,就好像一個人沒穿衣服在大街上,是很不安全的。
所以我們在此步創建一個新用戶,每次進入mongo的命令窗口時輸入用戶名密碼登錄,這樣在一定程度是解決了安全性問題,防止某些居心叵測的人登錄你的數據庫刪庫跑路。

[root@e2ab0x9jme3furrd mongo]# docker exec -it mongod mongo admin
MongoDB shell version v5.0.4
connecting to: mongodb://127.0.0.1:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e303c2e5-ff96-4f50-bddc-6e676edeff45") }
MongoDB server version: 5.0.4
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
 https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
 https://community.mongodb.com
> db.createUser({user: 'admin', pwd: '123456', roles: [ {role: 'userAdminAnyDa'} ]}) db.createUser({user: 'admin', pwd: '123456', roles: [ {role: 'userAdminAnyDat'} ]})db.createUser({user: 'admin', pwd: '123456', roles: [ {role: 'userAdminAnyData'} ]}db.createUser({user: 'admin', pwd: '123456', roles: [ {role: 'userAdminAnyDat'} ]})db.createUser({user: 'admin', pwd: '123456', roles: [ {role: 'userAdminAnyDa'} ]}) '} ]})
uncaught exception: SyntaxError: '' literal not terminated before end of script :
@(shell):1:6
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
Successfully added user: {
 "user" : "admin",
 "roles" : [
  {
   "role" : "userAdminAnyDatabase",
   "db" : "admin"
  },
  "readWriteAnyDatabase"
 ]
}
> db.auth('admin', '123456')
1
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB

測試連接

至此,我們就在Linux下安裝好了mongo環境!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM