Docker containers are a fantastic way to package an application along with all of the dependencies it needs to run, and systems like Kubernetes and Docker Swarm make managing and scaling clusters of Docker containers easy.
Octopus adds a layer of orchestration on top of that, allowing you to create releases of your solution that involve a mix of traditional applications/deployment targets as well as Docker containers. Any significant application will involve a mix of applications within containers, applications and services outside of containers, and infrastructure and people that need to be interacted with during the deployment.
Predictably deploy Docker images
Build your container image once, and use Octopus to deploy it to a test environment, then promote that same image to production when you finish testing - ensuring what you deploy to production is what you just tested. Octopus can fetch images from any Docker registry, including Docker Hub, Azure Container Services and AWS EC2 Container Services.
Octopus can deploy directly to Docker Hosts if you aren't using a Docker cluster manager, which is useful for test environments. Octopus can handle Docker networking, deploy containers, and start and stop containers.
Deploy your container images to Kubernetes-managed cluster. Have your say on the Octopus Kubernetes RFC..
You might also like...
Not one person I know who's used @OctopusDeploy has ever said anything other than good stuff and sing its praises - whilst interviewing candidates a few have actually asked are we using it - great software.— Gregor Suttie (@gregor_suttie) August, 1 2018
Tools like @OctopusDeploy can be great in enabling culture change, we've been able to scale and improve our configuration story since we started using it.— Neil Chalk (@_neilch) July 19, 2018