Мой текущий каталог проекта выглядит так:
.
├── 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
.