我正在使用
中的docker image mongodocker pull mongo
运行此命令后:
sudo docker run --name mongoDB -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin -p 5000:27017 -v keyfile:/opt/mongors/keyfile mongo --replSet rs0 --keyFile /opt/mongors/keyfile
我知道了
about to fork child process, waiting until server is ready for connections.
forked process: 27
2020-06-03T19:01:32.666+0000 I CONTROL [main] ***** SERVER RESTARTED *****
2020-06-03T19:01:32.667+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-06-03T19:01:32.672+0000 W ASIO [main] No TransportLayer configured during NetworkInterface startup
2020-06-03T19:01:32.673+0000 I ACCESS [main] permissions on /opt/mongors/keyfile are too open
ERROR: child process failed, exited with error number 1
我将密钥文件的权限更改为600
感谢您的帮助。
答案 0 :(得分:0)
我通过使用卷解决了问题;
找到卷的挂载点
$ docker volume inspect mongo_storage
[
{
"CreatedAt": "2020-06-03T22:29:50Z",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/mongo_storage/_data",
"Name": "mongo_storage",
"Options": {},
"Scope": "local"
}
]
将密钥文件复制到安装点
sudo cp keyfile /var/lib/docker/volumes/mongo_storage/_data
// NOTE: change permission and owner after copy!
sudo chmod 600 /var/lib/docker/volumes/mongo_storage/_data/keyfile
sudo chown 999:999 /var/lib/docker/volumes/mongo_storage/_data/keyfile