WebStorm 2018.1: я не могу попасть на точки останова, выполняющие удаленную отладку машинописи из контейнера докера - PullRequest
0 голосов
/ 02 ноября 2018

Я использую инструмент интеграции docker для запуска docker-compose, чтобы запустить два контейнера, один для узла и один для mongodb.

Вот файл docker-compose.yml:

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

Вот файл api1.dev.yml:

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

Вот запись скрипта в package.json:

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

Я также добавил новый элемент «Присоединить к Node.js / Chrome», чтобы подключить его к порту отладки для узла.

Я запускаю файл docker-compose, после чего отлаживаю элемент «Присоединить к Node.js / Chrome» после того, как узел подключен и прослушивает.

Когда я пытаюсь достичь точки останова в файле .ts, ничего не происходит. Я вижу, что конечная точка называется.

Каковы этапы отладки приложения для машинописного текста в Docker и что я делаю не так?

Где найти хороший учебник, в котором рассказывается, как отладить скрипт типов для приложения node.js, размещенного внутри контейнера Docker?

1 Ответ

0 голосов
/ 15 ноября 2018

Ответ был наконец предоставлен мне. В конечном итоге мне пришлось изменить сценарий отладки с «debug»: «nodemon -L --inspect = 56745 dist / myapp / app.js» на «nodemon -L --inspect = 0.0.0.0: 56745 dist / myapp / app» .js».

...