This article discusses the process of setting up a containerized development environment for C projects. The author highlights the benefits of using Docker containers for development, such as avoiding conflicts with different versions of specialized tools and making it easy for others to join a project. They also mention some limitations and potential issues with Docker. The article provides step-by-step instructions on how to create a Docker image, set up a build system using CMake, create a testing environment using Unity, and integrate the containerized environment into a CI pipeline. The author emphasizes that this is just one approach and there are many possibilities for setting up environments.
https://interrupt.memfault.com/blog/a-modern-c-dev-env