node.js - Docker Compose:.env:没有这样的文件或目录/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"
}
}
我的配置:
{
"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)。
推荐阅读
- python - 使用 python def 函数追加列表
- node.js - Mongo 连接有错误 TypeError: Cannot read property 'split' of null
- java - 接口和类对象内存分配的区别
- python - 在熊猫中,如果列(或列的子集)中的任何值是常见的,如何将行组合在一起?
- python - 使用列表理解删除不支持的 unicode 字符
- css - 有什么方法可以使 CSS 背景图像摆动吗?
- ruby - 如何在 ruby 3 中取消调度 Fiber?
- c++ - C++ 向量“CustomClass 未在此范围内声明”和“模板参数 1 无效”
- javascript - 在运行时将 props 传递给 Route 中的组件
- android - 当任何其他应用程序在 Android 中使用麦克风时,如何检测音频/麦克风正在使用中?