如何在 Dockerfile 中安装 mongodb 数据库工具?

max*_*out 3 mongodb docker

差不多就是这个问题了。这是我目前所拥有的:

FROM node:15 as server
WORKDIR /app
ENV NODE_ENV=production
COPY server/package.json ./
RUN npm install
COPY server/ ./
RUN apt-get update 
RUN apt-get install -y mongo-tools
EXPOSE 5000
CMD ["node", "src/app.js"]
Run Code Online (Sandbox Code Playgroud)

哪个确实有效,但是 mongo-tools 是一个非常过时的工具版本,不适合我的目的。

Mongo Docs有关于如何在 linux/windows/macos 上安装较新的 mongodb-database-tools 的说明,但我不知道如何让它在 DockerFile 中工作。

对于任何想知道的人,我正在尝试让 node-cron 定期在 mongodb atlas 数据库上调用 mongodump。

如有任何帮助,我们将不胜感激:)

小智 6

您可以下载更新版本的工具并安装它,就像在 Linux 主机上一样

Dockerfile 示例如下:

FROM node:15 as server
WORKDIR /app
ENV NODE_ENV=production
RUN wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-debian92-x86_64-100.3.1.deb && \
    apt install ./mongodb-database-tools-*.deb && \
    rm -f mongodb-database-tools-*.deb
COPY server/package.json ./
RUN npm install
COPY server/ ./
EXPOSE 5000
CMD ["node", "src/app.js"]
Run Code Online (Sandbox Code Playgroud)