J K*_*K G 5 mongodb docker docker-compose
我已经通过docker镜像在Linux Ubuntu中安装了MongoDB.我已经在YAML文件中设置了如下的参数来实现mongodb的身份验证.但是当我使用命令启动服务器时docker-compose up -d,我收到的错误就像
"'db'服务不支持的配置选项:'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"
Run Code Online (Sandbox Code Playgroud)
security和authorization是不是关键字的docker-composeYAML文件,所以把他们救出来.
如果该文件密钥文件需要复制到容器中,您应该输入如下内容:
FROM: mongo:2.6.4
ADD /home/ubuntu/dockerlab/keyfile.key /tmp
ENV AUTH yes
Run Code Online (Sandbox Code Playgroud)
在Dockerfile中.
并更改docker-compose.yml文件:
image: mongo:2.6.4
Run Code Online (Sandbox Code Playgroud)
成
build: .
Run Code Online (Sandbox Code Playgroud)
和command价值
command: ["mongod", "--smallfiles", "--keyFile /tmp/keyfile.key" ]
Run Code Online (Sandbox Code Playgroud)
或者您可以使用一个volume条目的docker-compose.yml映射keyfile.key到你的容器,而不是 ENV在Dockerfile您添加, "--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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1502 次 |
| 最近记录: |