MongoDB有一個很好用的圖形化使用者介面叫做Mongo Express,就好像是phpmyadmin一樣,可以在網頁瀏覽器中直接操作Mongo的資料庫。根據前面幾篇文章的經驗,相信同學們應該已經知道了,只要有一個docker-compose.yml檔案,就可以馬上搞定一切。沒錯,讓我們開始吧。
請建立一個資料夾,然後在該資料夾中建立一個叫做docker-compose.yml的檔案,其內容如下:
version: '3.1'
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
ports:
- 27017:27017
volumes:
- mdb:/data/db
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/
volumes:
mdb:
然後,在該資料夾之下執行以下指令,就大功告成了:
docker-compose up
因為在這個例子中,我們把mongo express的連接埠開放在8081,因此在容器順利啟動之後,請開啟瀏覽器,然後前往以下的網址:
http://localhost:8081
就可以看到如下所示的畫面:
建立完畢之後,如果想要使用Python程式來存取MongoDB的資料的話,底下是插入一筆資料的範例程式:
from pymongo import MongoClient
conn = MongoClient("mongodb://root:example@localhost:27017/")
db = conn.NKUST
collection = db.news
collection.insert_one({'id':1, 'title':'新聞標題'})