docker創(chuàng)建mongodb數(shù)據(jù)庫容器的方法
介紹
本文將通過docker創(chuàng)建一個mongodb數(shù)據(jù)庫容器
1. 拉取mongo鏡像
docker pull mongo:3.6
3.6版本是一個穩(wěn)定的版本,可以選擇安裝此版本。
2. 創(chuàng)建并啟動主數(shù)據(jù)庫 容器數(shù)據(jù)卷配置
/docker/mongodb/master/data # 數(shù)據(jù)庫數(shù)據(jù)目錄(宿主機) /docker/mongodb/master/dump # 備份數(shù)據(jù)目錄(宿主機)
創(chuàng)建并運行容器
docker run --name mongodb-master -d -p 27017:27017 -v /docker/mongodb/master/data:/data/db -v /docker/mongodb/master/dump:/var/dump -d mongo:3.6 --auth
–auth 表示開啟授權(quán)訪問。默認(rèn)不開啟,即不需要用戶名密碼就可以連接數(shù)據(jù)庫,這樣會有安全風(fēng)險,切記要開啟。
開啟授權(quán)訪問之后,需數(shù)據(jù)庫創(chuàng)建用戶和密碼。
進入容器,并連接容器
docker exec -it <container_id> /bin/bash mongo # 此時不需要用戶名
4. 創(chuàng)建用戶
use admin db.createUser({ user:"root", pwd:"123456", roles:[{ role:'root', db:'admin' }] })
退出并連接該數(shù)據(jù)庫,需輸入密碼
mongo 127.0.0.1/admin -u root -p
連接mongodb的url
未開啟授權(quán)驗證時 mongodb://127.0.0.1:27017 開啟授權(quán)驗證時 mongodb://user:passwd@127.0.0.1:27017/dbname
使用pymongo進行測試
import pymongo myclient = pymongo.MongoClient("mongodb://root:123456@localhost:27017/") #新建數(shù)據(jù)庫 mydb = myclient["runoobdbs"] dblist = myclient.list_database_names() #list_database_names()獲取數(shù)據(jù)庫名 print(dblist) if "runoobdbs" in dblist: print("數(shù)據(jù)庫已存在!") #創(chuàng)建集合 mycol = mydb["sites"] collist = mydb.list_collection_names() #獲取集合名 if "sites" in collist: # 判斷 sites 集合是否存在 print("集合已存在!") #插入文檔 mydict = {"name": "RUNOOB", "alexa": "10000", "url": "https://www.runoob.com"} x = mycol.insert_one(mydict) print(x) dblist = myclient.list_database_names() #list_database_names()獲取數(shù)據(jù)庫名 print(dblist)
參考鏈接:
https://blog.csdn.net/weixin_34100227/article/details/88731125
http://chabaoo.cn/python/285339367.htm
到此這篇關(guān)于docker創(chuàng)建mongodb數(shù)據(jù)庫容器的文章就介紹到這了,更多相關(guān)docker mongodb數(shù)據(jù)庫容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 中快速安裝tensorflow環(huán)境的方法步驟
這篇文章主要介紹了Docker 中快速安裝tensorflow環(huán)境的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10docker啟動報錯問題OCI runtime create failed: c
這篇文章主要介紹了docker啟動報錯問題OCI runtime create failed: container_linux.go:380: starting container process,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08PVE下擴展openwrt?for?x86分區(qū)大小方式
本文介紹了在PVE環(huán)境下如何對OpenWRT虛擬機的分區(qū)進行擴容,包括磁盤調(diào)整、軟件安裝、分區(qū)配置和系統(tǒng)引導(dǎo)等步驟,操作前需做好備份,以防數(shù)據(jù)丟失2024-10-10docker部署redis報錯內(nèi)存分配過度解決辦法
Docker很適合用于測試發(fā)布,將Docker封裝后可以直接提供給測試人員進行運行,不再需要測試人員與運維、開發(fā)進行配合,進行環(huán)境搭建與部署,這篇文章主要給大家介紹了關(guān)于docker部署redis報錯內(nèi)存分配過度的解決辦法,需要的朋友可以參考下2023-11-11使用portainer連接遠(yuǎn)程docker的教程
Portainer是一個輕量級的docker環(huán)境管理UI,可以用來管理docker宿主機和docker swarm集群,這篇文章主要介紹了使用portainer連接遠(yuǎn)程docker的方法,需要的朋友可以參考下2020-03-03