部署parse-server
官方鏡像在這里parseplatform/parse-server瓶珊,就當(dāng)前日期(2022年9月1日)色乾,官方的文檔并沒有著重介紹如何使用Docker進(jìn)行部署鸥昏。
第一步:拉取parse-server鏡像到本地
docker pull parseplatform/parse-server
第二步:掛載
我們需要考慮的掛載包括下面這些內(nèi)容:
配置文件:/parse-server/config
Cloud Code:/parse-server/cloud
日志:/parse-server/logs
我們需要在主機(jī)內(nèi)創(chuàng)建相應(yīng)的文件/目錄苛败,通過 -v 指令將本地的和鏡像內(nèi)的進(jìn)行掛載(映射)呢岗。
首先绊诲,需要在本地創(chuàng)建相應(yīng)的目錄梧躺,在我們的項(xiàng)目開發(fā)目錄parse.server.docker下創(chuàng)建下面這些目錄以及子目錄奥吩。
cd $HOME
cd parse.server.docker
mkdir ./parse-server
mkdir ./logs/parse-server
mkdir -p ./parse-server/{config,cloud}
touch ./parse-server/config/config.json
touch ./parse-server/cloud/main.js
初始化配置文件
{
"appId": "APPLICATION_ID",
"masterKey": "MASTER_KEY",
"appName": "Hello World",
"serverURL": "http://localhost:1337/parse",
"cloud":"/parse-server/cloud/main.js",
"databaseURI": "mongodb://parse:parse@mongo/parse_server_database"
}
這里我們配置了幾個(gè)必備的參數(shù),如需要更多的配置构拳,可以參考配置文件咆爽。
這里需要非常注意:由于我們的mongo數(shù)據(jù)庫也是由docker啟動(dòng)的,databaseURI必須以這種格式進(jìn)行書寫:即mongodb://用戶名:密碼@由docker啟動(dòng)的mongdb的名字/數(shù)據(jù)庫名隐圾。例如結(jié)合我們之前創(chuàng)建的,這里應(yīng)該為:--databaseURI mongodb://parse:parse@mongo/parse_server_database
此外掰茶,目前我們的serverURL使用的是http://localhost:1337/parse
暇藏,而非https://localhost:1337/parse
。如果需要支持https濒蒋,這就是另一個(gè)故事了盐碱。
初始化Cloud Code文件
Parse.Cloud.define("HelloCloud", async (request) => {
return 'Hello Cloud';
});
這里我們定義一個(gè)“HelloCloud”函數(shù)把兔,方便我們后面測試Cloud功能。
第三步:啟動(dòng)parse-server
cd $HOME/parse.server.docker
docker run \
--name parse-server \
-p 1337:1337 \
-v $(pwd)/parse-server/config:/parse-server/config \
-v $(pwd)/parse-server/cloud:/parse-server/cloud \
-v $(pwd)/logs/parse-server:/parse-server/logs \
--link mongo:mongo \
-d parseplatform/parse-server /parse-server/config/config.json
在這里我們根據(jù)配置文件啟動(dòng)Parse Server瓮顽,因此不需要再額外指定parse-server的啟動(dòng)參數(shù)了县好。
第四步:測試Parse-Server
在這里我們使用REST API進(jìn)行測試,執(zhí)行下面的命令暖混,往數(shù)據(jù)庫表GameScore中插入一條數(shù)據(jù)
curl -X POST \
-H "X-Parse-Application-Id: APPLICATION_ID" \
-H "Content-Type: application/json" \
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
http://localhost:1337/parse/classes/GameScore
返回結(jié)果類似缕贡,這樣就是執(zhí)行成功了。
{
"objectId":"l7D7mO73Jh",
"createdAt":"2022-08-31T22:12:15.955Z"
}
第五步:測試Cloud Code
執(zhí)行下面的命令
curl -X POST \
-H "X-Parse-Application-Id: APPLICATION_ID" \
-H "Content-Type: application/json" \
http://localhost:1337/parse/functions/HelloCloud
返回的結(jié)果如下:
{"result":"Hello Cloud"}
部署parse-dashboard
第一步:拉取parse-dashboard鏡像到本地
docker pull parseplatform/parse-dashboard:4.1.4
為什么指定版本拣播?因?yàn)楫?dāng)前的latest版本有一個(gè)錯(cuò)誤(https://github.com/parse-community/parse-dashboard/issues/2194)
第二步:掛載
我們需要考慮的掛載包括下面這些內(nèi)容:
配置文件:/src/Parse-Dashboard/parse-dashboard-config.json
首先晾咪,需要在本地創(chuàng)建相應(yīng)的目錄,在我們的項(xiàng)目開發(fā)目錄parse.server.docker下創(chuàng)建下面這些目錄以及子目錄贮配。
cd $HOME
cd parse.server.docker
mkdir ./parse-dashboard
mkdir ./parse-dashboard/config
touch ./parse-dashboard/config/parse-dashboard-config.json
初始化配置文件
{
"apps": [
{
"serverURL": "http://localhost:1337/parse",
"appId": "APPLICATION_ID",
"masterKey": "MASTER_KEY",
"appName": "Hello World",
}
],
"users": [
{
"user":"parse",
"pass":"password"
}
]
}
第三步:啟動(dòng)parse-dashboard
cd $HOME/parse.server.docker
docker run \
--name parse-dashboard \
-p 4040:4040 \
-v $(pwd)/parse-dashboard/config/parse-dashboard-config.json:/src/Parse-Dashboard/parse-dashboard-config.json \
-d parseplatform/parse-dashboard:4.1.4 \
--allowInsecureHTTP \
--mountPath /parse-dashboard
注意谍倦,parse dashboard默認(rèn)只能通過https訪問,指定--allowInsecureHTTP則可以通過http訪問泪勒。--mountPath /parse-dashboard
非常重要昼蛀,而且/
不能省。
第四步:驗(yàn)證
在瀏覽器中輸入http://localhost:4040圆存,會(huì)出現(xiàn)如下的頁面叼旋、
輸入用戶名密碼之后,跳轉(zhuǎn)到如下的頁面