Docker 部署 MongoDB 服務(wù)

拉取最新版本的 MongoDB 鏡像:

$ sudo docker pull mongo:latest

在本地預(yù)先創(chuàng)建好 dbconfigdb 目錄, 用于映射 MongoDB 容器內(nèi)的 /data/db/data/configdb 目錄刹缝。

使用以下命令來運行 MongoDB 容器:

$ sudo docker run -itd --name mongo --privileged=true -p 27017:27017 -v /home/ubuntu/docker/mongo/db:/data/db -v /home/ubuntu/docker/mongo/configdb:/data/configdb docker.io/mongo:latest --auth
  • -itd
    • -i (以交互模式運行容器, 通常與 -t 同時使用)
    • -t (為容器分配一個偽輸入終端, 通常與 -i 同時使用)
    • -d (后臺運行容器)
  • --name (給容器起一個名字方便管理)
  • --privileged=true (使容器內(nèi)的 root 擁有真正的 root 權(quán)限)
  • -p 27017:27017 (將容器的27017端口映射到主機的27017端口)
  • -v /home/ubuntu/docker/mongo/db:/data/db (文件掛載目錄)
  • -v /home/ubuntu/docker/mongo/configdb:/data/configdb (配置文件路徑)
  • --auth (需要密碼才能訪問容器服務(wù))

通過 docker ps 命令查看容器的運行信息:

$ sudo docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS                  PORTS                                               NAMES
b0fb7817a762   mongo:latest                "docker-entrypoint.s…"   50 seconds ago   Up 50 seconds           0.0.0.0:27017->27017/tcp, :::27017->27017/tcp       mongo

使用以下命令添加用戶并設(shè)置密碼:

$ sudo docker exec -it mongo mongosh admin
Current Mongosh Log ID: 65085540d0acf268bdf76e9c
Connecting to:          mongodb://127.0.0.1:27017/admin?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.10.6
Using MongoDB:          7.0.1
Using Mongosh:          1.10.6

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

admin> db.createUser({user:'admin', pwd:'用戶admin的密碼', roles:[{role:'userAdminAnyDatabase',db:'admin'},{role:'readWriteAnyDatabase',db:'admin'}]});
{ ok: 1 }
admin> db.auth('admin', '用戶admin的密碼')
{ ok: 1 }
admin> exit

使用 mongosh 連接和斷開 MongoDB 數(shù)據(jù)庫:

$ sudo docker exec -it mongo mongosh --port 27017 -u 'admin' -p '用戶admin的密碼' --authenticationDatabase 'admin'
Current Mongosh Log ID: 65085721cfe61730ead44cfd
Connecting to:          mongodb://<credentials>@127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&authSource=admin&appName=mongosh+1.10.6
Using MongoDB:          7.0.1
Using Mongosh:          1.10.6

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

test> exit

上面創(chuàng)建用戶時少添加了 dbAdminAnyDatabase 角色, 所以現(xiàn)在修改用戶的權(quán)限:

$ sudo docker exec -it mongo mongosh admin
Current Mongosh Log ID: 6508588447e7463f155ee1da
Connecting to:          mongodb://127.0.0.1:27017/admin?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.10.6
Using MongoDB:          7.0.1
Using Mongosh:          1.10.6

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

admin> db.auth('admin', '用戶admin的密碼')
{ ok: 1 }
admin> db.updateUser('admin', {roles:[{role:'userAdminAnyDatabase',db:'admin'},{role:'readWriteAnyDatabase',db:'admin'},{role:'dbAdminAnyDatabase',db:'admin'}]});
{ ok: 1 }
admin> exit
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末省撑,一起剝皮案震驚了整個濱河市超升,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌角溃,老刑警劉巖望抽,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡闲擦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門场梆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墅冷,“玉大人,你說我怎么就攤上這事或油∧蓿” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵顶岸,是天一觀的道長腔彰。 經(jīng)常有香客問我,道長辖佣,這世上最難降的妖魔是什么霹抛? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮卷谈,結(jié)果婚禮上杯拐,老公的妹妹穿的比我還像新娘。我一直安慰自己世蔗,他們只是感情好端逼,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著污淋,像睡著了一般顶滩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寸爆,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天礁鲁,我揣著相機與錄音浊吏,去河邊找鬼。 笑死救氯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歌憨。 我是一名探鬼主播着憨,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼务嫡!你這毒婦竟也來了甲抖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤心铃,失蹤者是張志新(化名)和其女友劉穎准谚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體去扣,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡柱衔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了愉棱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唆铐。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖奔滑,靈堂內(nèi)的尸體忽然破棺而出艾岂,到底是詐尸還是另有隱情,我是刑警寧澤朋其,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布王浴,位于F島的核電站,受9級特大地震影響梅猿,放射性物質(zhì)發(fā)生泄漏氓辣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一袱蚓、第九天 我趴在偏房一處隱蔽的房頂上張望筛婉。 院中可真熱鬧,春花似錦癞松、人聲如沸爽撒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硕勿。三九已至,卻和暖如春枫甲,著一層夾襖步出監(jiān)牢的瞬間源武,已是汗流浹背扼褪。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留粱栖,地道東北人话浇。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像闹究,于是被迫代替她去往敵國和親幔崖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容