Historicamente, o LXC tem tido muitos problemas de segurança que impedem que ele seja realmente isolado, mas os aprimoramentos de infraestrutura no kernel principal do Linux aliviaram a maioria (se não todos) desses problemas.
Veja aqui para obter uma visão geral dos problemas / aprimoramentos de segurança que foram observados em sucessivas versões do Ubuntu que agregam o LXC.
Achei esta documentação do Oracle Unbreakable Enterprise Kernel a ser particularmente útil para explicar como para fazer contêineres no nível do aplicativo.
Nos documentos:
Application containers are not created by using template scripts. Instead, an application container mounts all or part of the host's root file system to provide access to the binaries and libraries that the application requires. You use the lxc-execute command to invoke lxc-init (a cut-down version of /sbin/init) in the container. lxc-init mounts any required directories such as /proc, /dev/shm, and /dev/mqueue, executes the specified application program, and then waits for it to finish executing. When the application exits, the container instance ceases to exist.