Monday, 12 November 2018

WebStorm 2018.1: I am not able to hit breakpoints running remote debugging typescript from docker container

I am using the docker integration tool to run docker-compose to start two containers, one for node and one for mongodb.

Here is the docker-compose.yml file:

version: '2.1'
services:
 mongo:
    container_name: "app_mongo"
    hostname: "mongo"
    tty: true
    image: mongo:latest
    environment:
      - MONGO_DATA_DIR=/data/db
      - MONGO_LOG_DIR=/dev/null
      - MONGO_INITDB_DATABASE=***********
      - MONGO_INITDB_ROOT_USERNAME=************
      - MONGO_INITDB_ROOT_PASSWORD=********************
    volumes:
      - /data/db:/data/db
    ports:
      - 27017:27017
    command: "mongod --smallfiles --auth"
    networks:
      - my-app-network
 group:
     container_name: "app_api1"
     hostname: "api1"
     build:
       context: .
       dockerfile: api1.dev.yml
     entrypoint: ["npm", "run", "debug"]
     volumes:
       - ".:/home/app"
     ports:
       - 3000:3000
       - 56745:56745
     depends_on:
       - "mongo"
     networks:
       - my-app-network
networks:
    my-app-network:
       driver: bridge

Here is the api1.dev.yml file:

FROM node:latest

ADD package.json /tmp/package.json
RUN cd /tmp && npm install --production && npm install -g nodemon
RUN mkdir -p /home/app && cp -a /tmp/node_modules /home/app/ && mkdir -p /home/app/dist

ADD package.json /home/app/package.json
ADD .env /home/app/.env
WORKDIR /home/app

Here is the script entry in package.json:

"scripts": {
  "debug": "nodemon --inspect=56745 --require ts-node/register app/app.ts"
  // "debug": "nodemon -L --inspect=56745 dist/myapp/app.js"
}

I also added a new "Attach to Node.js/Chrome" item to attach to the debugging port for node.

I run the docker-compose file followed by debugging the "Attach to Node.js/Chrome" item after node is up and listening.

When I try to hit a breakpoint in a .ts file, nothing is happening. I am seeing the endpoint is called.

What are the steps involved in debugging a typescript app from docker and what am I doing wrong?

Where can I find a good tutorial that walks through how to debug typecript for a node.js app hosted inside of a docker container?



from WebStorm 2018.1: I am not able to hit breakpoints running remote debugging typescript from docker container

No comments:

Post a Comment