title: What is the best way to deliver docker containers to remote host?
body: <p>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:</p>
  <ol>
  <li><p>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.</p>
  </li>
  <li><p>Save docker image to tar and load it to remote host. I saw this post
  <a href="https://stackoverflow.com/questions/35024216/moving-docker-compose-containersets-around-between-hosts">Moving docker-compose containersets around between hosts</a>
  ,  but in this case I need to have shell scripts. Or I can use
  docker directly
  (<a href="https://stackoverflow.com/questions/31575546/docker-image-push-over-ssh-distributed">Docker image push over SSH (distributed)</a>),
  but in this case I'm losing the benefits of docker-compose.</p>
  </li>
  <li><p>Use docker-machine (<a href="https://github.com/docker/machine" rel="nofollow noreferrer">https://github.com/docker/machine</a>) with general driver. But in this case I can use it for deployng only from
  one machine, or I need to configure  certificates
  (<a href="https://stackoverflow.com/questions/46338037/how-to-set-tls-certificates-for-a-machine-in-docker-machine">How to set TLS Certificates for a machine in docker-machine</a>). And, again, it isn't simple solution, as for me.</p>
  </li>
  <li><p>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?</p>
  </li>
  <li><p>I could use docker-compose push (<a href="https://docs.docker.com/compose/reference/push/" rel="nofollow noreferrer">https://docs.docker.com/compose/reference/push/</a>) 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.</p>
  </li>
  </ol>
  <p>What is the best practice to deliver docker containers to remote host?</p>