Docker-MongoDB中的身份validation问题

我通过Docker镜像在Linux Ubuntu中安装了MongoDB。 我已经在下面的YAML文件中设置参数来实现对mongodb的authentication。 但是当我使用命令docker-compose up -d来启动服务器时,我收到了错误信息

“db'服务的不支持的configuration选项:'security'”。

我该如何解决这个问题?

docker-compose.yaml


 db: image: mongo:2.6.4 command: ["mongod", "--smallfiles"] expose: "27017" ports: "27017:27017" security: keyFile: "/home/ubuntu/dockerlab/keyfile.key" authorization: "enabled" 

securityauthorization 不是 docker-compose YAML文件的关键字 ,所以把它们从那里拿出来。

如果该文件密钥文件需要复制到容器中,则应该放置如下所示的内容:

 FROM: mongo:2.6.4 ADD /home/ubuntu/dockerlab/keyfile.key /tmp ENV AUTH yes 

在Dockerfile中。

并在docker-compose.yml文件中更改:

 image: mongo:2.6.4 

 build: . 

command

  command: ["mongod", "--smallfiles", "--keyFile /tmp/keyfile.key" ] 

或者,您可以使用docker-compose.ymlvolume条目将docker-compose.yml映射到您的容器中,而不是添加Dockerfile中的ENV , "--auth"按顺序排列,这是command的值。 然后,您可以继续使用image节,并完全Dockerfile

 db: image: mongo:2.6.4 command: ["mongod", "--smallfiles", "--auth", "--keyFile /tmp/keyfile.key" ] expose: "27017" ports: "27017:27017" volumes: - /home/ubuntu/dockerlab/keyfile.key: /tmp