VS Code Can Do That - Workshop
Main
Main
  • VS Code Can Do That Workshop
  • Essential Keyboard Shortcuts
  • Exercise 1 - Customizing The Editor
    • Customizing The Editor
    • Switch themes
    • Install a new icon theme
    • Switch fonts
    • Editor tweaks
    • Change default Settings view
    • Easily identify editor instances
  • Exercise 2 - Productivity Tricks
    • Productivity Tricks
    • Essential navigation shortcuts
    • Creating HTML with Emmet
    • Styling with Emmet
    • Update image sizes
  • Exercise 3 - Navigation And Refactoring
    • Navigation And Refactoring
    • Moving, Duplicating and Deleting
    • Folding sections
    • Multiple cursors
    • Rename refactor
    • Finding things
    • Extract refactor
  • Exercise 4 - Debugging
    • Debugging
    • Simple debugging
    • Simple launch config
    • Auto attach
    • Debugging browser apps
    • Compound debug configurations
  • Exercise 5 - Docker
    • Docker
    • Dockerizing an application
    • Running and inspecting images
    • Docker compose
    • Debugging Docker containers
  • Exercise 6 - Remote Development
    • Remote Development
    • Create a remote container
    • Create a new function in the container
    • Handling extensions
  • Exercise 7 - Working With Data
    • Working with data
    • Working with MongoDB
    • Working with SQLite
    • Working with MySQL
  • Exercise 8 - Git and Source Control
    • Git and source control
    • Cloning repos with VS Code
    • Common Git workflows
    • Branching and merge conflicts
Powered by GitBook
On this page

Was this helpful?

  1. Exercise 5 - Docker

Debugging Docker containers

PreviousDocker composeNextRemote Development

Last updated 5 years ago

Was this helpful?

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