登录GKE集群Mongo Pod后mongo命令无法识别问题求助
问题解决:Flask应用Mongo数据库定位及Pod内命令报错处理
一、确定应用存储数据的数据库名称
从你的Flask代码连接配置可直接得出:
app.config["MONGO_URI"] = "mongodb://mongo:27017/dev"
MongoDB连接URI格式为 mongodb://<主机>:<端口>/<数据库名>,这里的dev就是应用使用的数据库名称。
二、解决Pod内mongo: command not found报错
新版MongoDB官方镜像(v6.0及以上)已移除传统的mongo命令行工具,替换为mongosh(MongoDB Shell),可通过以下两种方式操作:
方式1:进入Pod后使用mongosh连接
kubectl exec -it mongo-869f6488c8-jnkgp -- /bin/bash # 进入容器后执行 mongosh dev
执行后即可进入dev数据库的交互shell,可通过show collections查看集合,db.<集合名>.find()查看数据。
方式2:直接执行命令无需进入Pod
无需进入Pod,直接在本地终端执行命令连接并操作数据库:
# 查看dev数据库下的集合 kubectl exec -it mongo-869f6488c8-jnkgp -- mongosh dev --eval "show collections" # 直接进入交互shell kubectl exec -it mongo-869f6488c8-jnkgp -- mongosh dev
内容的提问来源于stack exchange,提问作者bionics parv
相关产品推荐
相关产品推荐

