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