mon go - восстановление из docker -контейнера, sh скрипты работают, но только вручную - PullRequest
1 голос
/ 13 января 2020

Я пытаюсь восстановить несколько коллекций при запуске моего экземпляра в контейнере mon go.

Это релевантная docker -компонентная часть (я оставляю некоторые комментарии, так что вы знаете, что я пытался это сделать , но это тоже не сработало:

 mongo-container:
    container_name: my container
#    image: mongo:latest
    ports:
      - "27018:27017"
#    volumes:
#      - ./dump:/dump
    environment:
      MONGODB_USER: "user"
      MONGODB_PASS: "password"
#    command:
##      - sh mongorestore dump
##      - mongorestore dump -d Collection1
#        - mongorestore dump -d Collection2
    build:
      context: .
      dockerfile: Dockerfile_mongodb
    networks:
      - my-network

Это Dockerfile_mongodb:

FROM mongo

RUN mkdir /dump
COPY dump /dump
COPY run.sh /run.sh
RUN chmod +x /run.sh

и файл /run.sh:

#!/bin/sh

mongorestore /dump -d Coll1
mongorestore /dump -d Coll2
mongorestore /dump -d Coll3

.. Я также попробовал решения из этого поста , ни один из них не сработал.

Если я начну свой контейнер go с docker-compose up mongo-container
, а затем docker exec -ti mongo-container bash
и запустите ./run.sh
, он работает и БД восстановлена. Поэтому я считаю, что запуск. sh файл не вызывается, но я не знаю почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...