chore: setup Docker dev environment and add documentation#73
chore: setup Docker dev environment and add documentation#73fairwind2k wants to merge 2 commits intohexlet-boilerplates:mainfrom
Conversation
docker-compose.yml
Outdated
| - .:/app | ||
| - /app/node_modules | ||
| restart: unless-stopped | ||
| command: bash -c "npx knex migrate:latest && npm start -- --watch --verbose-watch --ignore-watch='node_modules .git .sqlite'" |
There was a problem hiding this comment.
Можно не указывать, тк эта команда указана уже использована в CMD образа, но лучше обернуть команду в какой-нибудь make start (наверняка эта же команда используется в локальном запуске)
docker-compose.yml
Outdated
| context: . | ||
| dockerfile: Dockerfile.dev | ||
| ports: | ||
| - "8080:3000" |
There was a problem hiding this comment.
для меньшей неожиданности порт внешний можно оставить тотже, что внутри
DOCKER.md
Outdated
|
|
||
| ```yaml | ||
| ports: | ||
| - "3000:8080" # Внешний:Внутренний |
There was a problem hiding this comment.
в docker compose yaml порты указаны наоборот.
Если порт занят, то это не проблема приложения, и оно обычно не должно зависеть от локальных особенностей (т.е. стоит отключить лишнее и освободить порт)
Dockerfile.dev
Outdated
| COPY package-lock.json . | ||
|
|
||
| # Используем --legacy-peer-deps для работы со старыми зависимостями | ||
| RUN npm ci --legacy-peer-deps |
There was a problem hiding this comment.
если образ используется для разработки, то установку зависимостей можно опустить.
образ будет отвечать только за окружение, а все команды (установка зависимостей и тд) выполняются уже в процессе жизни контейнера (к пример выполняем установку зависимостей командой docker compose run app npm ci
|
Я бы сократил количество команд, можно сделать make команды для этоо - создать |
|
Ок, поправлю |
Добавлены