MongoDB и нераспознанная опция '--enableEncryption' - PullRequest
0 голосов
/ 14 марта 2019

У меня проблема при запуске образа Монго с помощью docker-compose.yml. Мне нужно зашифровать мои данные, потому что они очень чувствительны. Мой docker-compose.yml:

version: '3'
services:
  mongo:
    image: "mongo"
    command: ["mongod","--enableEncryption","--encryptionKeyFile", "/data/db/mongodb-keyfile"]
    ports:
      - "27017:27017"
    volumes:
      - $PWD/data:/data/db

Я проверяю выходы mongodb-keyfile в data / db, хорошо, нет проблем, но когда я собираю файл, создаю и создаю образ, и команда te:

"docker-entrypoint.sh mongod --enableEncryption --encryptionKeyFile /data/db/mongodb-keyfile"  

Статус:

About a minute ago   Exited (2) About a minute ago

Я показываю логи и вижу:

Error parsing command line: unrecognised option '--enableEncryption'

Я понимаю ошибку, но не знаю, как ее решить. Я думаю сделать Dockerfile с образом ubuntu (linux любым) и установить mongo со всеми необходимыми конфигурациями. Или попробуйте решить это. Пожалуйста, помогите мне, спасибо.

1 Ответ

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

Согласно документации шифрование доступно только в MongoDB Enterprise .Таким образом, вам нужно иметь платную подписку, чтобы использовать ее.

Для образа док-версии корпоративной версии в здесь написано, что вы можете создать ее самостоятельно:

  1. Загрузите файлы сборки Docker для MongoDB Enterprise.

    Установите для MONGODB_VERSION выбранную вами основную версию.

    export MONGODB_VERSION=4.0
    curl -O --remote-name-all https://raw.githubusercontent.com/docker-library/mongo/master/$MONGODB_VERSION/{Dockerfile,docker-entrypoint.sh}
    
  2. Создайте контейнер Docker.

    Используйте загруженные файлы сборки для создания образа контейнера Docker, обернутого вокруг MongoDB Enterprise.Установите DOCKER_USERNAME в качестве имени пользователя Docker Hub.

    export DOCKER_USERNAME=username
    chmod 755 ./docker-entrypoint.sh
    docker build --build-arg MONGO_PACKAGE=mongodb-enterprise --build-arg MONGO_REPO=repo.mongodb.com -t $DOCKER_USERNAME/mongo-enterprise:$MONGODB_VERSION .
    
  3. Проверьте свой образ.

    Следующие команды запускают mongod локально в контейнере Docker и проверяют версию.

    docker run --name mymongo -itd $DOCKER_USERNAME/mongo-enterprise:$MONGODB_VERSION
    docker exec -it mymongo /usr/bin/mongo --eval "db.version()"
    
...