Pages - Menu

2019年7月16日 星期二

[Docker]MongoDB 與 Mongo-express 連動

I.先來個簡單的MongoDB使用方式

1.安裝mongoDB

docker pull mongo
sudo docker run --name mongo -p 27017:27017 -v ~/mongo:/data/db -d mongo

--name docker的名字(your docker name)
-p 27017:27017 前面是實體機的port,後面是container 的port
-v ~/mongo:/data/db  前面是實體機的位置,後面是container的位置
-d 在後台執行
如果要直接設定帳號密碼的話 ,請看(II)。
安裝完後,可以用瀏覽器開啟,有成功的話,會看到下面的畫面。



2.進入mongo shell

sudo docker exec –it <your docker name> mongo admin

3.

新增使用者
db.createUser({ user: 'admin', pwd: 'admin', roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ]});
新增TABLE.test
dbo.createCollection(“test”)
新增資料
dbo.test.insertOne({id:”a”,age:2,status:”B”})
查詢資料
dbo.test.find()


更多請看參考文章
4.輸入 exit 離開
ref.
利用 Docker 運行 MongoDB
mongoDB語法官方手冊
Getting Started With MongoDB As A Docker Container Deployment

II.mongo-express連動mongoDB

0. mongo-express跟phpmyadmin的用途一樣,都是GUI圖形界面的資料庫管理工具
1.安裝mongoDB,這邊提早先設定root 的帳號密碼,等等設定關連要用到。(理論上用上面的帳號密碼應該也可以)

docker run -d -p 27017:27017 --name mongodb -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=mongoadmin mongo

2.安裝mongo-express

sudo docker run -it --rm   -p 8081:8081 --link mongodb:mongo -e ME_CONFIG_BASICAUTH_USERNAME="mongoexpress" -e ME_CONFIG_BASICAUTH_PASSWORD="mongoexpress" -e ME_CONFIG_MONGODB_ADMINUSERNAME="mongoadmin" -e ME_CONFIG_MONGODB_ADMINPASSWORD="mongoadmin" mongo-express

--rm 容器運行完會自動清除
-p 8081:8081 前面是實體機的port對應到後面container的port
--link mongodb:mongo 前面是要連結的容器名稱(請看II-1,名稱是寫mongodb),後面是連接的別名
再來就是設定要登入的使用者帳號密碼(BASICAUTH),以及連線到mongoDB的帳號密碼(MONGODB)
3.要注意的是,這個沒有在背景執行,所以執行完後,會像下面的圖一樣。

所以如果要讓他自己在背景執行,將--rm拿掉以及配上-d

ref.
Docker 下的 MongoDB + Mongo-Express 環境搭建
Docker —— 從入門到實踐
Github-mongo-express

沒有留言:

張貼留言