You should attach to the container before starting it
One of my builds was hanging on one server, so I dug around and found this issue: https://github.com/fsouza/go-dockerclient/issues/415, and there's a fix in the bug report: https://github.com/fsouza/go-dockerclient/issues/415#issuecomment-156691304 . I applied that and it fixed the hang.
This fix has a leak if StartContainer fails. You should use AttachToContainerNonBlocking
so that you can cancel the attach if StartContainer
fails.