Docker-MongoDB 中的身份验证问题
Authentication issue in Docker-MongoDB
我已经通过 docker 图像在 Linux Ubuntu 中安装了 MongoDB。
我已经在 YAML 文件中设置了如下参数来实现 mongodb 的身份验证。但是当我使用命令 docker-compose up -d
启动服务器时,我收到类似
的错误
"Unsupported config option for 'db' service: '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"
security
和 authorization
对于 docker-compose
YAML 文件来说是 not a keyword,所以把它们从那里拿走。
如果该文件密钥文件需要复制到容器中,您应该输入如下内容:
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.yml
中使用 volume
条目将 keyfile.key
映射到您的容器中,而不是 [=24= 中的 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
我已经通过 docker 图像在 Linux Ubuntu 中安装了 MongoDB。
我已经在 YAML 文件中设置了如下参数来实现 mongodb 的身份验证。但是当我使用命令 docker-compose up -d
启动服务器时,我收到类似
"Unsupported config option for 'db' service: '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"
security
和 authorization
对于 docker-compose
YAML 文件来说是 not a keyword,所以把它们从那里拿走。
如果该文件密钥文件需要复制到容器中,您应该输入如下内容:
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.yml
中使用 volume
条目将 keyfile.key
映射到您的容器中,而不是 [=24= 中的 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