簡體   English   中英

Docker Compose: .env: no such file or directory / NodeJS

[英]Docker Compose: .env: no such file or directory / NodeJS

您好,我正在嘗試讓我的 docker compose 工作,但出現以下錯誤:

步驟 13/15:復制 .env 。 復制失敗:stat /var/lib/docker/tmp/docker-builder209795817/.env:沒有這樣的文件或目錄

我無法找到解決方案或想象我能做些什么來解決這個問題

代碼:

DockerCompsoe:

version: "3.7"
services:
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: emasa
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    web:
      image: emasapg
      depends_on:
        - dbs
      ports:
        - "4000:4000"

Docker 文件:

FROM node as builder
WORKDIR usr/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build


FROM node
WORKDIR usr/app
COPY package*.json ./
RUN npm install --production

COPY --from=builder /usr/app/dist ./dist      // I GOT PROBLEM HERE

COPY ormconfig.docker.json ./ormconfig.json
COPY .env . 

expose 4000
CMD node dist/src/index.js

我的 package.json:

{
  "name": "back-end",
  "version": "0.0.1",
  "description": "Awesome project developed with TypeORM.",
  "scripts": {
    "dev:server": "ts-node-dev --respawn --transpileOnly src/index.ts",
    "build": "tsc -b"
  },
  "devDependencies": {
    "@types/express": "^4.17.3",
    "@types/node": "^13.9.1",
    "typescript": "^3.8.3"
  },
  "dependencies": {
    "apollo-server-express": "^2.11.0",
    "express": "^4.17.1",
    "graphql": "^14.6.0",
    "pg": "^7.3.0",
    "reflect-metadata": "^0.1.13",
    "ts-node": "^8.6.2",
    "typeorm": "0.2.24"
  }
}

我的ormconfig:

{
  "type": "postgres",
  "host": "db",
  "port": 5432,
  "username": "postgres",
  "password": "postgres",
  "database": "emasa",
  "synchronize": true,
  "logging": false,
  "entities": ["src/entity/**/*.ts"],
  "migrations": ["src/migration/**/*.ts"],
  "subscribers": ["src/subscriber/**/*.ts"],
  "cli": {
    "entitiesDir": "src/entity",
    "migrationsDir": "src/migration",
    "subscribersDir": "src/subscriber"
  }
}

這是我的文件夾結構:

類型

出現錯誤是因為沒有 .env 文件和 dist 文件夾。

首先,您需要在項目結構的根目錄下創建一個 .env 文件,以提供所需的環境變量(例如名稱、主機、端口、密碼和數據庫連接的用戶)。 接下來運行npm run build來構建您的項目,這將創建 dist 文件夾(請參閱您的 tsconfig.json)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM