Как сказать WebStorm искать в Docker контейнере проект? - PullRequest
0 голосов
/ 07 января 2020

Мой текущий каталог проекта выглядит так:

.
├── backend
│   ├── Dockerfile # NestJS Dockerfile.
│   ├── docker # Folder that contains docker-compose.yml file.
│   ├── package.json
│   └── src
└── frontend
    ├── Dockerfile # Angular Dockerfile.
    ├── package.json
    └── src

Мой docker-compose.yml файл выглядит так:

version: "3.7"
services:
  # ########################
  # Back-End Container
  # ########################
  backend: # Node-Express backend that acts as an API.
    container_name: nest_backend
    build:
      context: ../
    restart: always
    expose:
      - 3000
    ports:
      - "3000:3000"
    volumes:
      - /home/node/node_modules
      - "../:/home/node/"
  # ########################
  # Front-End Container
  # ########################
  frontend: # Angular frontend to be served to client.
    container_name: angular_frontend
    build:
      context: ../../frontend/
    restart: always
    expose:
      - 4200 # Angular ng-serve port.
      - 49153 # Websocket port for live reloading.
    ports:
      - "49153:49153"
      - "4200:4200"
    volumes:
      - /home/node/node_modules
      - "../../frontend/:/home/node/"
    depends_on:
      - backend
networks:
  default:

Я хочу использовать Docker и не потерять Преимущество использования WebStorm в качестве IDE. Он говорит мне, что пакет tslint не установлен, например, и что мне нужно запустить npm install, чтобы установить папку node_modules. Однако мои node_modules папки существуют только в контейнерах. Есть ли способ, которым я могу сделать так, чтобы WebStorm правильно работал с этим?

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

Вот что я сделал до сих пор:

Я следовал учебному пособию здесь :

  • Пошёл к Редактировать конфигурацию в правом верхнем углу окна рядом с кнопками отладки.
  • Нажал на знак + и выбрал Node.js .
  • Кликнул ... рядом с Узел-переводчик .
  • Кликнул на знак + , выбрал Добавить удаленный ... .
  • Выбранный Docker Составить из переключателей, щелкнул значок папки рядом с Файл (ы) конфигурации и выбрал соответствующий сервис из выпадающего списка Сервис .
  • Кликнул OK на всем и просто запустил его. Он запустится, выдаст ошибку, что команда не найдена.

Когда я запускаю docker-compose up, все работает гладко. Когда я попытался добавить конфигурацию прогона Run > Edit Configurations..., чтобы добавить (+) прогон Docker-compose, указывая его на файл docker-compose.yml, он также работает плавно.

То, к чему я буду sh Совершенно верно sh - использовать возможности среды IDE, находясь в Docker. В настоящее время он не знает, где искать tslint конфигурации или node_modules.

...