Sometimes, you have code running in a container that is not working. In that case, it's useful to be able to debug the application as it's running inside of the container. VS Code provides the correct Docker configuration to do this.
Build the container with the "debug.docker-compose.yml" file
Add a launch configuration for Docker
Attach the debugger to the running container
Set a breakpoint in the "routes/index.js" file
Visit the app in the browser, change the color and click the button
See the debugger break at the breakpoint
Open the Command Palette(Cmd/Ctrl + Shift + P)
Select "Docker: Compose Up"
Select the "start" project from the prompt
Select the "debug.docker-compose.yml" file from the prompt
Open the Debug Explorer view (Cmd/Ctrl + Shift + D)
Open the dropdown list at the top and select "Add Config (start)"
Select "Docker: Node.js" from the prompt
Take the default Docker Remote Route prompt
VS Code will add a ".vscode" folder to the "start" project. In that folder will be a file called "launch.config"
Open the Debug Explorer View
Make sure "Docker: Attach to Node" is selected and press the green arrow
VS Code attaches the debugger
Open the "routes/index.js" file in the "start" project
Add a breakpoint to line 12
View the app in the browser running on port 3000
Change the color and click the "Go" button
VS Code will break on line 12 of the "index.js" file inside of the Docker container