node.js - Legg til .env.example i dist-mappen under docker compose up
Jeg vil generere en .env og en .env.example-fil, og pushe dem til Docker-imaget under Docker-build med Dockerfile. Problemet er at .env.example-filen ikke blir kopiert til Docker-imaget. Jeg tror det fungerer med den vanlige env-filen, fordi jeg kopierer env.production og lagrer den som env. Imidlertid bruker jeg node.js og typescript. De fleste vet at det finnes en måte å bruke env-variabler i koden på ved å generere en env.d.ts og env.example. Under docker compose får jeg dessverre den feilen.
no such file or directory, open '.env.example'
Tilsynelatende blir ikke env.example kopiert til dist-mappen. Jeg trenger denne, derimot.
Dockerfil
stage 1 building the code
FROM node as builder
WORKDIR /usr/app
COPY package*.json ./
RUN npm install
COPY . .
COPY .env.production .env
RUN npm run build
COPY .env.example ./dist
stage 2
FROM node
WORKDIR /usr/app
COPY package*.json ./
RUN npm install --production
COPY --from=builder /usr/app/dist ./dist
COPY ormconfig.docker.json ./ormconfig.json
EXPOSE 4000
CMD node dist/index.js
.dockerignore
node_modules
docker-compose.yaml
version: "3.7"
services:
db:
image: postgres
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
volumes:
- ./pgdata:/var/lib/postgresql/data
ports:
- "5432:5432"
web:
build:
context: ./
dockerfile: ./Dockerfile
depends_on:
- db
ports:
- "4000:4000"
volumes:
- ./src:/src
Kan noen vennligst hjelpe meg!