| I'm using Terraform to deploy Docker containers. Terraform's docker_container resource has a lovely 'upload' feature which one can use to upload files into the container. I make Terraform load server config files (or use multi-line strings in the .tf file), perform variable replacement, then destroy Docker containers and recreate them with updated config files. All persistent data is stored in directories bind-mounted into the Docker container. Terraform has some limitations. For example, one deployment cannot deploy hosts and their containers [1]. And there is no usable support for rolling deployments [2, 3]. So I've ended up with a 4-stage deployment: host-set1, containers on host-set1, host-set2, containers on host-set2. I also use Terraform to deploy the servers to my laptop during development. Docker for Mac works well. Someday, Kubernetes will get some usable documentation on how to do normal things [4]. Then I will use it for deploying containers, load balancers, and persistent volumes. For now, it's too big of a complexity jump over plain Docker. [1] https://github.com/hashicorp/terraform/issues/2430 [2] https://github.com/hashicorp/terraform/issues/23735#issuecom... [3] https://github.com/hashicorp/terraform/issues?q=is%3Aissue+%... [4] https://github.com/kubernetes/website/issues/19139 |