首页 > 解决方案 > 在 3.7-slim-buster 映像上安装 mongodb,以使用 mongoimport

问题描述

这是一个 Airflow 项目,我们从这个 Dockerfile开始,它本身似乎是从debian:buster-slim图像开始的。

这篇文章建议运行以下内容:

sudo apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl
curl -fsSL https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
sudo add-apt-repository 'deb https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main'
sudo apt update
sudo apt install mongodb-org

但是,当我们添加RUN apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl到 Dockerfile 时,我们会收到错误消息:

E: Unable to locate package dirmngr
E: Package 'gnupg' has no installation candidate
E: Unable to locate package software-properties-common

我们应该在这个 Dockerfile 中添加什么才能正确安装 mongodb 以便能够使用mongoimport命令?

标签: dockerdebian

解决方案


似乎以下是在做的伎俩:

RUN apt-get update && apt-get install -y gnupg software-properties-common
RUN curl -fsSL https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
RUN add-apt-repository 'deb https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main'
RUN apt-get update
RUN apt-get install -y mongodb-org

RUN mongo --version
RUN mongoimport --version

最后 2 行测试前 5 行是否有效。最初遇到安装问题gnupgsoftware-properties-common-y标志和apt-get update事先有帮助。到目前为止,一切似乎都很好。


推荐阅读