gpt4 book ai didi

linux - MongoDB 和无法识别的选项 '--enableEncryption'

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:08 24 4
gpt4 key购买 nike

当我使用 docker-compose.yml 运行图像 mongo 时遇到问题。我需要加密我的数据,因为它非常敏感。我的 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 中,没问题,但是当我构建文件、制作并启动镜像时,命令是:

"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'

我明白这个错误,但我不知道如何解决它。我想用 ubuntu(linux 等)镜像制作一个 Dockerfile,并使用所有必要的配置安装 mongo。或者尝试解决它。请帮助我,谢谢。

最佳答案

根据documentation ,加密仅在MongoDB Enterprise中可用。因此您需要付费订阅才能使用它。

对于企业版的docker镜像,它在here中说您可以自己构建它:

  1. 下载 MongoDB Enterprise 的 Docker 构建文件。

    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 容器。

    使用下载的构建文件创建围绕 MongoDB Enterprise 的 Docker 容器镜像。将 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. 测试您的图像。

    以下命令在 Docker 容器中本地运行 mongod 并检查版本。

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

关于linux - MongoDB 和无法识别的选项 '--enableEncryption',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55154118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com