Как создать Docker Container для Mongodb с данными, которые необходимо развернуть в кластере Azure - PullRequest
0 голосов
/ 11 марта 2019

Может кто-нибудь знает, как создать докер-контейнер для скопированных файлов базы данных mongo db.Я вижу использование механизма дампа и восстановления, который не помог бы, если бы мне нужно было развернуть контейнер в кластер Azure.В моем случае база данных Mongodb меняется очень часто.

Вот мой текущий файл докера:

FROM microsoft/windowsservercore:ltsc2016

SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"]

ENV MONGO_VERSION 3.4.19

COPY mongo.msi mongo.msi
COPY MongoData/db C:\\data\\db

RUN Write-Host 'Installing ...'; \

Start-Process msiexec -Wait \
    -ArgumentList @( \
        '/i', \
        'mongo.msi', \
        '/quiet', \
        '/qn', \
        'INSTALLLOCATION=C:\mongodb', \
        'ADDLOCAL=all' \
    ); \
$env:PATH = 'C:\mongodb\bin;' + $env:PATH; \
[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \
\
Write-Host 'Verifying install ...'; \
Write-Host '  mongo --version'; mongo --version; \
Write-Host '  mongod --version'; mongod --version; \
\
Write-Host 'Removing ...'; \
Remove-Item C:\mongodb\bin\*.pdb -Force; \
Remove-Item C:\windows\installer\*.msi -Force; \
Remove-Item mongo.msi -Force; \
\
Write-Host 'Complete.';


EXPOSE 27017
CMD ["mongod", "--bind_ip_all"]

Ваша помощь будет принята с благодарностью.

Спасибо, Будда

1 Ответ

0 голосов
/ 19 марта 2019

Спасибо за быстрый ответ @Charles Xu.Я нашел решение для этого.Что мы должны сделать:

  1. Создать Docker-контейнер
  2. С помощью сервиса Mongo выгрузите базу данных, которая извлекает файлы bson и json из файлов mongodb).Выполните команду mongodump --host "localhost: 27017" в powershell с режимом администратора
  3. Восстановить извлеченные данные в контейнер.Выполните команду mongorestore --host localhost: 27030 (контейнер докера, работающий с этим портом).
  4. Передайте изменения докера, которые передают изменения данных, сделанные на шаге 3, в образ докера.
  5. Публикация / отправка образа докера в Azure, в котором будут храниться данные

Надеюсь, это кому-нибудь поможет.

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