I'm new in docker and docker-compose. I'm using of docker-compose file with several services. I have containers and images on the local machine when I work with docker-compose and my task is to deliver them remote host. I found several solutions:
I could build my images and push them to the some registry and pull them on production server. But for this option I need private registry. And as I think- registry is an unnecessary element. I wanna run countainers directly.
Save docker image to tar and load it to remote host. I saw this post Moving docker-compose containersets around between hosts , but in this case I need to have shell scripts. Or I can use docker directly (Docker image push over SSH (distributed)), but in this case I'm losing the benefits of docker-compose.
Use docker-machine (https://github.com/docker/machine) with general driver. But in this case I can use it for deployng only from one machine, or I need to configure certificates (How to set TLS Certificates for a machine in docker-machine). And, again, it isn't simple solution, as for me.
Use docker-compose and parameter host (-H) - But in the last option I need to build images on remote host. Is it possible to build image on local mashine and push it to remote host?
I could use docker-compose push (https://docs.docker.com/compose/reference/push/) to remote host, but for this I need to create registry on remote host and I need to add and pass hostname as parameter to docker compose every time.
What is the best practice to deliver docker containers to remote host?