如何在Docker容器中安装MongoDB 4.4.0镜像的mongosh并连接数据库?
解决MongoDB 4.4容器无法用mongosh访问的问题
你之前的命令无效原因
你使用了MongoDB 6.0的PGP密钥,与当前4.4版本不匹配,且命令顺序错误(应先安装wget再导入密钥),导致无法适配安装mongosh。
以下是几种可行的解决方案:
方案1:直接进入容器使用自带的mongo shell
MongoDB 4.4容器默认不包含mongosh,它自带传统的mongo命令行工具,操作步骤:
- 查看运行中的MongoDB容器信息:
docker ps - 进入容器交互式终端:
docker exec -it <容器ID/容器名称> bash - 连接本地数据库:
mongo mongodb://localhost:27017
方案2:在宿主机安装适配4.4版本的mongosh
若想在宿主机用mongosh连接容器,需安装对应版本的工具:
- 先安装wget(未安装的话):
sudo apt-get install wget - 添加MongoDB 4.4的官方密钥和源:
注:如果你的Ubuntu版本不是focal,替换为对应版本代号,比如bionic、jammy等wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list - 更新软件包索引并安装mongosh:
sudo apt update sudo apt install mongodb-mongosh - 连接容器内的MongoDB(需容器已映射27017端口,即运行时添加了
-p 27017:27017参数):mongosh mongodb://localhost:27017
方案3:直接通过docker exec执行连接命令
无需进入容器,直接执行以下命令即可完成连接:
docker exec -it <容器ID/容器名称> mongo mongodb://localhost:27017
内容的提问来源于stack exchange,提问作者Kayes Hasan Tanmay
相关产品推荐
相关产品推荐

