node.js - docker compose up sırasında dist klasörüne .env.example ekle


Bir .env ve bir .env.example dosyası oluşturmak ve bunları Dockerfile ile docker build sırasında docker imajına göndermek istiyorum. Sorun şu ki, .env.example dosyası docker imajına kopyalanmıyor. Normal env ile çalıştığını sanıyorum, çünkü env.production'ı kopyalayıp env olarak kaydediyorum. Ancak node.js ve typescript kullanıyorum. Çoğu insanın bildiği gibi, kodda env değişkenlerini kullanmanın bir yolu env.d.ts ve env.example oluşturmaktır. Ne yazık ki docker compose sırasında o hatayı alıyorum.

no such file or directory, open '.env.example'

Görünüşe göre env.example dist klasörüne kopyalanmamış. Ama buna ihtiyacım var.

Dockerfile

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

Acaba biri bana yardım edebilir mi lütfen!