Here is a Volcano in a Box. It uses Command Blocks to launch Lava and primed TNT projectiles.
Version 4 is compact and fast - no more minecarts. Use version 4 is space is an issue.
Version 5 has a Redstone input that lets you control the eruption - enable or disable it. The eruption is randomly controlled when it is enabled, presenting much less of a continuous TNT stream. Use version 5 if you want all the frills and features.