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就行了