1.生成密钥. txt打开ssl兰德-base64 666〉/蒙戈/密钥. txt chmod 600/蒙戈/密钥. txt1.命令--密钥文件=/蒙戈/密钥. txt--replSet=蒙戈_教育单元_设置--数据库路径=/蒙戈/数据--日志路径=/蒙戈/日志/a. log--日志附加
2019-09-05T07:01:23.625+0000 I ACCESS [main] error opening file: /mongo/key.txt: bad file
y0u0uwnf1#
检查container中/mongo/key. txt的所有者和属性,它必须是这样的:
root@243810c57e61:/# ll /etc/mongo/replkey -r-------- 1 mongodb root 1024 Sep 27 12:19 /etc/mongo/replkey
qmb5sa222#
在我的例子中,一个密钥文件被挂载到/opt/keyfile,权限为0600,root,root(在主机上),在docker映像中,它是0600,1000,1000。为了解决这个问题,我将host中的权限更改为999,999(转换为systemd-coredump),但在docker中,用户999被转换为mongodb。
/opt/keyfile
0600,root,root
0600,1000,1000
999,999
systemd-coredump
mongodb
sdnqo3pr3#
主机中ls -la的响应应如下所示
ls -la
-r-------- 1 systemd-coredump root 1024 jul 8 11:12 keyfile/mongo-cluster-key
我修复了进入容器并执行chown mongodb keyfile/mongo-cluster-key的问题另外,我认为你可以通过主持人做到这一点:
chown mongodb keyfile/mongo-cluster-key
$ chown systemd-coredump keyfile/mongo-cluster-key
lndjwyie4#
密钥文件应由linux上的mongod:mongod用户所有,并具有400读取权限
mongod:mongod
400
4条答案
按热度按时间y0u0uwnf1#
检查container中/mongo/key. txt的所有者和属性,它必须是这样的:
qmb5sa222#
在我的例子中,一个密钥文件被挂载到
/opt/keyfile
,权限为0600,root,root
(在主机上),在docker映像中,它是0600,1000,1000
。为了解决这个问题,我将host中的权限更改为
999,999
(转换为systemd-coredump
),但在docker中,用户999被转换为mongodb
。sdnqo3pr3#
主机中
ls -la
的响应应如下所示我修复了进入容器并执行
chown mongodb keyfile/mongo-cluster-key
的问题另外,我认为你可以通过主持人做到这一点:
lndjwyie4#
密钥文件应由linux上的
mongod:mongod
用户所有,并具有400
读取权限