Container-based development environment¶
A Container-based development environment is a setup where the entire development stack—including the operating system, runtime, dependencies, and tools—is executed inside a software container rather than on the host machine's native operating system.^[400-devops__09-Scripting-Language__README.md]
Benefits¶
The primary advantage of this approach is the ability to maintain a clean local computer environment. By isolating development work within containers, the host system remains unaffected by the specific dependencies, configurations, or potential clutter associated with different projects.^[400-devops__09-Scripting-Language__README.md]
Development workflows¶
Adopting container-based environments often involves specific workflows for software development and debugging:
- Language-Specific Debugging: Integrated development environments (IDEs) like VSCode can be configured to debug applications running inside containers for various languages.^[400-devops__09-Scripting-Language__README.md] Documented workflows cover debugging for:
- NodeJS^[400-devops__09-Scripting-Language__README.md]
- .NET Core^[400-devops__09-Scripting-Language__README.md]
- Golang^[400-devops__09-Scripting-Language__README.md]
- Build Optimization: Multistage builds are a common practice in containerized development to optimize image sizes and separation of concerns.^[400-devops__09-Scripting-Language__README.md]
Sources¶
Related Concepts¶
- [[Docker]]
- DevOps
- [[Microservices]]
- [[Clean Code]]