MongoDB 不会继续在 Docker 容器中运行

MongoDB 不会继续在 Docker 容器中运行

我想设置一个 MongoDB Docker 容器,该容器将根据我指定的配置文件工作。它如下:

storage:
  dbPath: /data/db/mongodb
  journal:
    enabled: true

systemLog:
  destination: file
  logAppend: true
  path: /data/db/mongod.log

net:
  port: 27017
  bindIp: 127.0.0.1,162.243.243.233

我从 Docker 的 GitHub 下载了 Dockerfile 和 docker-entrypoint.sh,并修改了第一个文件,使其满足我的需求。以下是我得到的相关部分:

ENV MONGO_MAJOR 3.2
ENV MONGO_VERSION 3.2.6
RUN echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/$MONGO_MAJOR main" > /etc/apt/sources.list.d/mongodb-org.list
RUN set -x \
    && apt-get update \
    && apt-get install -y \
            mongodb-org=$MONGO_VERSION \
            mongodb-org-server=$MONGO_VERSION \
            mongodb-org-shell=$MONGO_VERSION \
            mongodb-org-mongos=$MONGO_VERSION \
            mongodb-org-tools=$MONGO_VERSION \
    && rm -rf /var/lib/apt/lists/* \
    && rm -rf /var/lib/mongodb \
    && mv /etc/mongod.conf /etc/mongod.conf.orig
RUN mkdir -p /data /data/db /data/configdb \
    && chown -R mongodb:mongodb /data /data/db /data/configdb
VOLUME /data /data/db /data/configdb /etc
COPY docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

# Add the custom config file
ADD ["mongod.conf","/data"]

EXPOSE 27017

CMD ["mongod", "--config", "/data/mongod.conf"]

当我尝试构建图像时,它会成功。docker run创建后它会立即退出。

当 Dockerfile 中的最后一行看起来像 时CMD ["mongod"],一切正常,容器已启动并运行,但只能从本地主机访问。根据我的mongod.conf,我正在尝试将访问权限扩展到我的 IP 地址。

配置看起来不错,YAML 有效。容器也可以访问它(docker start -ai <CID>没有entrypoint.sh问题)。这里有什么问题以及如何解决?

相关内容