I tried that option as well. Verified that ulimit and memory_lock are set via docker inspect <container_name> and docker exec <container_name> env. Both were set as expected.
But when I verify through curl localhost:9200/_nodes?filter_path=**.mlockall. I get false for all. No errors in the log as well. Looks like the environment variable and the ulimit option is ignored.
{
"nodes": {
"node1": {
"process": {
"mlockall": false
}
},
"node2": {
"process": {
"mlockall": false
}
},
"node3": {
"process": {
"mlockall": false
}
},
"node4": {
"process": {
"mlockall": false
}
},
"node5": {
"process": {
"mlockall": false
}
}
}
}