Dockerfile
Код: Выделить всё
FROM node
WORKDIR /app
COPY package*.json ./
COPY prisma ./prisma
RUN npm install
RUN npx prisma generate && npx prisma db push
COPY . .
EXPOSE 3000
CMD npm run dev
Код: Выделить всё
version: '3.8'
services:
frontend:
build:
context: .
dockerfile: Dockerfile
ports:
- 3000:3000
develop:
watch:
- path: ./package.json
action: rebuild
- path: ./next.config.js
action: rebuild
- path: './package-lock.json'
action: rebuild
- path: .
target: /app
action: sync
environment:
- NODE_ENV=development
- DATABASE_URL=mysql://root:admin@db:3307/next-sched
depends_on:
db:
condition: service_healthy
volumes:
- .:/app
- /app/node_modules
- /app/.next
db:
image: mysql:8.0
ports:
- 3307:3306
environment:
- MYSQL_ROOT=root
- MYSQL_ROOT_PASSWORD=admin
- MYSQL_DATABASE=next-sched
volumes:
- mysql-data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "db"]
timeout: 20s
retries: 10
restart: unless-stopped
volumes:
mysql-data:
Код: Выделить всё
DATABASE_URL="mysql://root:admin@localhost:3307/next-sched"Код: Выделить всё
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
//the rest of code

Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-created
Мобильная версия