At WeDev Technolgy we started use Docker to increase our productivity on development as usual, and it help us on CI/CD too. See below what we do:
We can easily create a (or many) Dockerfile for our applications.
For production we are using Kubernetes based on any image that has been built by Docker.
Docker Hub is awesome, but for private images - and on real world, you will need it - we are using Google Container Registry - GCR. The first reason is because we are using Google Cloud. For second, GCR has a better price than Docker Hub, and best team management.
Also, we use Bitbucket Pipelines to build our image, push into GCR and start it on Google Kubernetes Engine. Sounds hard, right? But no, for put everything on Production, all we need to do is a simple push on a branch.
Everybody who join us will learn Docker and Kubernetes. Every microsservice made by a engineer will be deployed by himself.