Docker – Local Dev & Continuous Integration / Delivery

Docker Project

Local Development Environment with Docker

Automated Deployment with Docker:

Desired Process:

  • On the local system, the Github repo is created, containing server config files and a Dockerfile
  • On a github push, an automated docker building process is triggered:
  • The new (latest) docker image is available on docker hub
  • Open question: How can docker hub after successfully building the image deliver it to a server and mount it?
  • Example for a deploy script: http://paislee.io/how-to-automate-docker-deployments/
  • Docker Images should be updated autonomously on production / staging / testing servers but that’s not the case:

More worryingly, some people seem to believe that the latest tag will be automatically updated — that if I pull an image marked latest, docker will take care of checking it is still the newest version before running it each time. This is emphatically not the case – just as with every other tag, you still need to manually docker pull new versions.

Source: http://container-solutions.com/docker-latest-confusion/

Enters Shippable: http://blog.shippable.com/topic/continuous-deployment-cd

Backup with Docker

Docker Multiple Containers

Shippable

Setting everything up in Shippable.com: http://blog.shippable.com/shippable-continuous-delivery-to-amazon-ec2-container-services

Amazon AWS ECS

  1. Create a cluster
  2. Set up the IAM Role for the instances to come
  3. Launch a Cluster Instance