JavaVM のバグなんですけど、LXC コンテナ上で Java を実行する時にデフォルトのヒープサイズ (物理メモリ×1/64 ~ 1/4) をコントロールホストのメモリ量から算出してしまい、実際にコンテナに割り当てた量を上回って起動できないことがあります。Docker も LXC で構成するから同じなのかな?
LXC で Java を使うときは明示的にヒープサイズを指定しましょう。
torao@cumin00$ java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
torao@cumin00$ java -Xms64m -Xmx64m -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)