MongoDB docker停止运行,“ / opt / mongors / keyfile上的权限太开放”

时间:2020-06-03 19:12:11

标签: mongodb

我正在使用

中的docker image mongo
docker 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

感谢您的帮助。

1 个答案:

答案 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