Not sure how your current builds look like, but I tend not having to deal with containers per se. All they force you to do is be explicit about the build‘s dependencies, which I think is a useful thing.
My approach for migrating existing builds to Concourse is to start with a stock image (alpine or ubuntu), and gradually add things that are missing (`fly execute` is a big help for that).
Once I have a successful build, I extract the prerequisites into a task image (but that really is an optimization).