Unprivileged lxc containers and open file limit problem

If you’re running unprivileged lxc containers, you will notice that some software fail to install or start. For example, you may have this kind of problem on Ubuntu, when trying to install mongo:

The problem is the following line in /etc/init/mongod.conf:

Because it’s an unprivileged lxc container, even root is not able to increase open files limit to 64000 in the guest!

The solution is to add these lines in /etc/security/limits.conf on the host (you’ll have to stop the guest, log out / log in to your shell for the change to have effect):

After this, start the guest again, problem should be solved: