i use keyfile as docker mongodb replica security tool, however when run with -v /data/mongo/keyfile:/data/keyfile,it showed keyfile Permission denied ,the keyfile is 600(mongo need)
The permission mask should be fine, but the file will need to be owned by the mongodb user in the container (uid=999(mongodb) gid=999(mongodb)).
sorry 锛宨 do not know how to do that,can you explain a little more clear
You'll just need to chown 999:999 keyfile before you run the docker container (you probably need sudo in there).
thanks,sorry too busy these days
@yosifkit how can I do that from my docker-compose.yml file?
db:
image: mongo:4.4.3
hostname: mongo-db-001
command: --replSet bg0 --keyFile /etc/mongodb.key
volumes:
- ./mongodb.key:/etc/mongodb.key
ports:
- "27017:27017"
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: 'foo'
MONGO_INITDB_ROOT_PASSWORD: 'bar'
MONGO_INITDB_DATABASE: baz
Most helpful comment
You'll just need to
chown 999:999 keyfilebefore you run the docker container (you probably needsudoin there).