docker pull mongo和 postgresql 鏡像
復制項目里 project/app里的.env.template文件,在同目錄下生成一個.env.local文件,內容一模一樣復制過去
-
postgresql 啟動個容器,并添加參數
POSTGRES_PASSWORD
設置初始密碼為123456,不設置跑不起來
image.png -
修改pg連接地址, 默認用戶名為postgres,密碼是剛才設置的那個
image.png
mongodb的啟動需要用命令行,因為要加副本集,因為代碼里用了事務,而docker desktop里我沒找到加這個參數的方法
輸入docker run -d --name ai_mongo -p 27017:27017 mongo --replSet rs0
-
啟動了后修改.env.local文件,在mongo連接地址后面加參數
&replicaSet=rs0
image.png -
初始化mongo副本集,這里以學習為目的,只放一個節點進去,進入到docker mongo的shell中,輸入
mongosh
,開啟mongo的shell
image.png 輸入下面代碼執行,初始化當前節點為主節點
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "localhost:27017" }
]
})
切換到admin庫
use admin;
創建用戶
db.createUser({
user: "username",
pwd: "password",
roles: [
{ role: "root", db: "admin" }
]
})
- 進入project/app 目錄,
pnpm dev
,第一次的時候pg連接可能會報錯,關掉再啟動一次 pnpm dev就行了