迁移MongoDB容器时遇mongodump命令未找到问题求助
解决mongodump在CF SSH容器中找不到的问题
你遇到的问题很明确:你SSH进入的Cloud Foundry proxy-app容器里并没有预装MongoDB的命令行工具(包括mongodump),所以bash才会提示command not found。好在你本地已经有完整的Mongo工具集,这里有两种实用的解决办法:
方法一:用本地mongodump配合端口转发(推荐)
你已经通过这条命令建立了本地端口到远程Mongo实例的转发通道:
cf ssh proxy-app -L 13000:2xtorvw9ys7tg9pc.service.consul:49642
别关闭这个SSH窗口,然后打开一个新的本地终端窗口(比如你原来的U:\Documents\cf-env-master目录的终端),直接执行本地的mongodump命令即可:
mongodump --host localhost:13000 --authenticationDatabase Po1CA54gQdhmtCTa -u z2WScqr5y06j4ncx -d Po1CA54gQdhmtCTa
输入数据库密码后,本地的mongodump会通过已建立的端口转发连接到远程Mongo实例,顺利完成备份操作。
方法二:在CF容器内临时安装mongodump
如果你确实需要在容器内执行命令,可以尝试临时安装Mongo客户端工具(注意:CF应用重启后这些工具会丢失,因为容器是临时运行的):
- 在SSH会话中更新包列表(针对Debian/Ubuntu系基础镜像的容器):
sudo apt update
- 安装MongoDB客户端工具包:
sudo apt install -y mongodb-clients
安装完成后,你再执行原来的mongodump命令就能正常运行了。
内容的提问来源于stack exchange,提问作者jerem0808
相关产品推荐
相关产品推荐

