gpt4 book ai didi

linux - 在 dockerized mongodb 上找不到 mongodb 配置文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:49:06 25 4
gpt4 key购买 nike

首先,我知道有更简单的方法来解决我的问题,但为了更好地了解 docker,这是我想解决运行 dockerized mongodb 的方法。

我现在正在尝试通过获取已经存在的 Dockerfile 并对其进行修改来构建我自己的 mongodb docker 镜像。修改:我希望能够访问 mongodb-server 使用的 mongodb.conf 文件。

这是我的 Dockerfile。我只加了一行 VOLUME ["/etc"]我更改了最后一行(我添加了最后一个 -f 参数)。构建镜像并在容器中运行它在没有这些更改的情况下工作正常。

FROM debian:jessie-slim
RUN apt-get update && \
apt-get install -y ca-certificates && \
rm -rf /var/lib/apt/lists/*
RUN gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 0C49F3730359A14518585931BC711F9BA15703C6 && \
gpg --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mongodb.gpg
ARG MONGO_PACKAGE=mongodb-org
ARG MONGO_REPO=repo.mongodb.org
ENV MONGO_PACKAGE=${MONGO_PACKAGE} MONGO_REPO=${MONGO_REPO}
ENV MONGO_MAJOR 3.4
ENV MONGO_VERSION 3.4.18
RUN echo "deb http://$MONGO_REPO/apt/debian jessie/${MONGO_PACKAGE%-unstable}/$MONGO_MAJOR main" | tee "/etc/apt/sources.list.d/${MONGO_PACKAGE%-unstable}.list"
RUN echo "/etc/apt/sources.list.d/${MONGO_PACKAGE%-unstable}.list"
RUN apt-get update
RUN apt-get install -y ${MONGO_PACKAGE}=$MONGO_VERSION
VOLUME ["/data/db"]
VOLUME ["/etc"]
WORKDIR /data
EXPOSE 27017
CMD ["mongod", "--smallfiles", "-f /etc/mongodb.conf"]

然而,随着我的改变,构建的镜像无法启动。它立即退出。 docker logs <container-name>给我

Error reading config file: No such file or directory
try 'mongod --help' for more information

我用的是运行命令 docker run -p 37017:27017 -d -v /tmp/mongodb/data:/data/db -v /tmp/mongodb/etc:/etc mongo-image并期望在我的主机系统上找到位于/tmp/mongodb/etc/mongodb.conf 的文件(是的,它存在于那里,我把它放在那里)。

我做错了什么?我是 docker 的新手,我想我可能搞砸了卷?

最佳答案

对于正在寻找有关如何在 2019 年在本地安装 dockerized mongo 并最终遇到此问题中提到的问题(1 小时前刚发生在我身上)的快速指南的任何人,我写了一个快速“指南”:https://yosh.ke.mu/mongo_in_docker

希望它对某人有用。

关于linux - 在 dockerized mongodb 上找不到 mongodb 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com