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...
Currently updating a deployment process in @OctopusDeploy. I forgot how easy this was to use, everything just makes sense.— David Swindells (@d_swindells) January 30, 2019
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