Welcome, Code Crafters, to the first edition of the Code Chronicles series!

Dive straight into a recent challenge I faced with Visual Studio and Docker Compose. Who knows, this story might even help you solve a similar problem!

Here's what happened:

I've been working on a service that handles some local setup tasks. It shares certificates, creates users, sets permissions, and so on. To do all this, I used a bunch of bash scripts. I love projects that are easy to use - clone it, run it, and you're good to go!

But then, a problem:

When I tried to run the service in Visual Studio with Docker Compose, things went wrong. The logs from my scripts disappeared, and other services that needed this one wouldn't start.

The strange part? When I ran Docker Compose outside of Visual Studio, everything worked fine. I found out that a file Visual Studio made (the docker-compose.vs.debug.g.yml file) was messing with my scripts. It was changing the ENTRYPOINT to keep the container going so it could attach the debugger.

The solution:

There's no official fix for this right now (you can see the open issue on Microsoft's DockerTools GitHub page). But I resolved the problem by adding another override file docker-compose.vs.debug.yml and adjusting the metadata. This got my service running again.

So if you run into the same issue with Visual Studio, remember this story! Check out the official docs for more info on customizing the debug compose file.

Thanks for reading this edition of Code Chronicles. I'm always here if you have questions or want to chat about coding.