Назад | Перейти на главную страницу

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

Я загрузил Dockerfile и docker-entrypoint.sh из Docker GitHub и изменил первый, чтобы он соответствовал моим потребностям. Вот соответствующая часть того, что у меня есть:

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"], все в порядке, контейнер работает, но доступен только с localhost. По моему mongod.conf, Я пытаюсь расширить доступ к своему IP-адресу.

Конфигурация выглядит нормально, и YAML действителен. Он также доступен для контейнера (docker start -ai <CID> не дает entrypoint.sh выпуск). В чем проблема и как ее исправить?