You don't need an IoC container.
But if you're rigorously following a DI pattern, you'll find that having one will remove a ton of redundant, boring code.
That's often the best time to use a library/framework, anyway - when you understand what it's doing and could do it without the library.