Lessons learned using Docker for development and testing on Windows
Blog post from Octopus Deploy
Bob Walker explores the feasibility and challenges of using Docker on a Windows machine for development and testing, particularly for hosting a CI/CD pipeline. Initially intimidated by Docker's complexity, Walker discovers that while it requires some learning, it is manageable, especially with Visual Studio's Docker integration. He details his experience configuring a CI/CD pipeline using Docker Compose, which involves handling both stateless and stateful containers, notably with SQL Server and Octopus Deploy. Walker notes difficulties such as bootstrapping stateful applications, resource consumption differences between Windows and Linux containers, and connection string issues requiring IP addresses for .NET applications. He also shares insights on the mutable nature of Docker containers and the advantages of using container volumes for streamlined local development and testing. Despite encountering challenges, Walker concludes that Docker, while initially daunting, is an effective tool for creating portable and flexible development environments after overcoming its learning curve.