You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中通过Dockerfile安装MongoDB遇报错求助

解决Alpine Docker镜像安装指定版本MongoDB的包不存在报错

报错信息

[5/6] RUN apk add mongodb=3.4.4-r0:
#8 0.327 ERROR: unable to select packages:
#8 0.328   mongodb (no such package):
#8 0.347     required by: world[mongodb=3.4.4-r0].
executor failed running [/bin/sh -c apk add mongodb=3.4.4-r0]: exit code: 1.

原Dockerfile代码

FROM alpine

RUN echo 'http://dl-cdn.alpinelinux.org/alpine/v3.6/main' >> /etc/apk/repositories
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/v3.6/community' >> /etc/apk/repositories

RUN apk update
RUN apk add mongodb=3.4.4-r0

VOLUME ["/data/db"]
WORKDIR /data
EXPOSE 27017

CMD [ "mongod" ]

问题原因

Alpine v3.6属于旧版本,官方主源dl-cdn.alpinelinux.org已不再提供该版本的包,仅归档服务器保留相关资源;同时直接追加源会和默认源冲突,导致包检索失败。

解决方案

方案1:直接使用Alpine v3.6镜像(推荐)

直接指定基于alpine:3.6的基础镜像,其默认配置的源就是对应版本的归档源,无需手动修改:

FROM alpine:3.6

RUN apk update
RUN apk add mongodb=3.4.4-r0

VOLUME ["/data/db"]
WORKDIR /data
EXPOSE 27017

CMD [ "mongod" ]

方案2:修改源为归档服务器

如果必须使用最新alpine镜像,可替换源为Alpine归档服务器地址,同时清空原有源配置避免冲突:

FROM alpine

# 替换为Alpine v3.6的归档源,清空原有配置
RUN echo 'https://archive.alpinelinux.org/alpine/v3.6/main' > /etc/apk/repositories
RUN echo 'https://archive.alpinelinux.org/alpine/v3.6/community' >> /etc/apk/repositories

RUN apk update
RUN apk add mongodb=3.4.4-r0

VOLUME ["/data/db"]
WORKDIR /data
EXPOSE 27017

CMD [ "mongod" ]

内容的提问来源于stack exchange,提问作者Manish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:35:23