<p>I'm developing a Docker-based web service, where each subscriber has private access to their own Docker container running in the cloud, exposing port 443.</p>

<p>I've used <a href="https://github.com/jwilder/nginx-proxy" rel="nofollow">nginx-proxy/docker-gen</a> successfully to serve multiple Docker containers from the same VM, with just port 443 exposed to the public net.</p>

<p>This works fine ... but what do I do when the subscribers saturate the VM resources?
(As a simple example, I may have a practical limit of 10 subscribers' containers on a single DigitalOcean 2Gb instance serving as a Docker host.)</p>

<p>Eg when subscriber #11 signs up, I need to have a new Docker host ready and waiting to start up that new container.</p>

<p>In other words, I want to do <strong>horizontal autoscaling</strong> of my Docker hosts, responsive to user subscription demand. Doing some service discovery and making the containers publicly-addressable would be nice. </p>

<p>I'm trying to work out what the best solution is. Kubernetes 1.1 seems to support auto-scaling of Pods (ie basically increasing the number of containers...) but not the auto-scaling of the container hosts ("minions" in Kubernetes-speak??)</p>

<p>I've looked at the following projects which seem close to what I need:</p>

<ul>
<li><a href="http://deis.io/" rel="nofollow">Deis</a> - no explicit autoscaling as far as I can tell </li>
<li><a href="http://tsuru.io" rel="nofollow">Tsuru</a> - possible autoscaling solution but limited to count/RAM</li>
<li><a href="https://mesosphere.com/" rel="nofollow">Mesos/Mesosphere</a> - probably much more complex than necessary</li>
</ul>

<p>Can anybody make any useful suggestions?? </p>

<p>As of Kubernetes v1.1, you can now implement a Horizontal Pod Autoscaler: <a href="http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html" rel="nofollow">http://kubernetes.io/v1.1/docs/user-guide/horizontal-pod-autoscaler.html</a></p>
