使用Docker建立Mongodb加上Mongo Express

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':'新聞標題'})

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *