I actually have several options. I can manage container builds with
Jenkins, which gives me end-to-end support for containerized in-house apps.
I also use Puppet for provisioning. Puppet can build a Docker container and deploy it on one or more puppet-managed hosts. What makes it especially attractive for me is that the Red Hat/compatible platforms don't have very good support built in for auto-starting containers if Docker restarts due to an upgrade or a system reboot. Puppet not only handles the deployment, it also constructs service manager code (init scripts on RHEL/CentOS 6, systemctl declarations on RHEL/CentOS 7). That way I don't have to depend on higher-level resource such as Composer or the various Enterprise managers such as Kubernetes.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.