【发布时间】:2023-01-13 03:14:16
【问题描述】:
我正在尝试对我的 react/typescript 应用程序进行 docker 化,但是当我尝试 docker-compose run frontend 时,它找不到 package.json 文件。我没有 DockerFile,只有 docker-compose.yml
docker-compose.yml:
`version: '3.5'
services:
frontend:
image: node:latest
volumes:
- ./frontend:/app
ports:
- 3000:3000
working_dir: /app
command: bash -c "npm i && npm start"`
我的根文件夹名为 FULL-STACK-CHALLENGE,我的文件夹结构如下:
Project structure(https://i.stack.imgur.com/RkCbY.png)
当我尝试运行 docker-compose.yml 文件时出现此错误:
Creating full-stack-challenge_frontend_run ... done
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /app/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/app/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2023-01-12T17_30_41_901Z-debug-0.log
ERROR: 254
我还想在 localhost:3000 打开这个应用程序
我犯的错误在哪里?
我已经尝试更改 working_dir 的名称或卷的名称,甚至尝试创建一个 DockerFile,但没有任何效果
【问题讨论】:
-
因为您的 package.json 文件位于 exchange-currencies 目录中。将您的 working_dir 更改为 /app/exchange-currencies 或将 package.json 文件上移一个目录级别。
标签: reactjs typescript docker docker-compose package.json