在 Docker 容器中安装 mongo 客户端

Posted

技术标签:

【中文标题】在 Docker 容器中安装 mongo 客户端【英文标题】:Installing mongo client in a Docker container 【发布时间】:2015-01-18 23:11:27 【问题描述】:

我正在使用 fig 在各种 Docker 容器中构建和运行我的应用程序,到目前为止,一切都很好。

我有一个用于我的应用的容器和一个 db 容器,其中包含 mongo

但现在我正在尝试连接到 mongo 服务器以使用用户和数据库为其播种,但我找不到如何安装 mongo 客户端。

我的应用图像源自标准 dockerfile/nodejs 图像,不包括 mongo 客户端。

尝试RUN mongo 只会给出错误mongo not found

到目前为止,我发现的所有文档都与如何在 Docker 容器中安装 mongo server 相关,到目前为止我没有找到任何东西告诉我如何安装 mongo 客户端。我该怎么做?

【问题讨论】:

【参考方案1】:

怎么样:

RUN sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
RUN sudo apt-get install -y mongodb-org-shell
RUN sudo apt-get install -y mongodb-org-tools

如建议here?

【讨论】:

E: Unable to locate package mongodb-org-shell【参考方案2】:

@mgaido 的回答基本正确。

它适用于基于 Ubuntu 的 Linux 系统,我在为我的 Docker 实例寻找解决方案时发现了这篇文章,这很有帮助。

但是我的 Docker 的操作系统是基于 Debian 发行版的,我通过THIS POST 找到了它。

然后在 MongoDB 的官方文档站点上,您应该可以选择匹配的 Docker 操作系统并按照安装步骤进行操作。那么MongoDB就会正确安装了。

【讨论】:

拯救了我的一天。从过去 6 小时开始,我一直在尝试找到在 Node docker 映像中安装 mongo-shell 的解决方案,因为 mongoose 需要它。我尝试了所有解决方案,但在某处的某些步骤都失败了。终于拿到了这个东西,发现我在尝试所有的 Ubuntu 解决方案,而 Node 镜像是基于 Debian 的。非常感谢@paradox。它拯救了我的一天。 非常感谢@paradox 的这篇文章。也为我修好了。作为参考,这些是我在我的 Debian GNU/Linux 10 docker 容器 docs.mongodb.com/manual/tutorial/install-mongodb-on-debian 上运行 mongo shell 所遵循的步骤

以上是关于在 Docker 容器中安装 mongo 客户端的主要内容,如果未能解决你的问题,请参考以下文章

docker中安装mongo3.2

docker中安装mongo3.2

如何在高山容器中安装 Docker?

在 docker 容器中安装 PostgreSQL

docker 在容器中安装yum等软件

如何在ubunto中安装docker