Docker compose docker撰写ts节点问题
我是一名docker初学者,尝试将简单的项目作为我学习旅程的一部分。。 我正在尝试将NestJS项目dockerize,但是Docker compose docker撰写ts节点问题,docker-compose,nestjs,ts-node,Docker Compose,Nestjs,Ts Node,我是一名docker初学者,尝试将简单的项目作为我学习旅程的一部分。。 我正在尝试将NestJS项目dockerize,但是dockercomposeup命令失败 我的Dockerfile和docker compose.*文件如下所示。我尝试过对Dockerfile和docker compose文件进行各种更改,但没有成功。。有人能发现问题或我遗漏的东西吗 Dockerfile FROM node:12.10 RUN mkdir -p /usr/src/app WORKDIR /usr/sr
dockercompose
up命令失败
我的Dockerfile和docker compose.*文件如下所示。我尝试过对Dockerfile和docker compose文件进行各种更改,但没有成功。。有人能发现问题或我遗漏的东西吗
Dockerfile
FROM node:12.10
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm build
docker compose.yml
version: '3'
services:
app:
build: .
ports:
- '8081:8081'
version: '3'
services:
app:
command: npm start
volumes:
- .:/usr/src/app
environment:
- NODE_ENV=development
docker compose.dev.yml
version: '3'
services:
app:
build: .
ports:
- '8081:8081'
version: '3'
services:
app:
command: npm start
volumes:
- .:/usr/src/app
environment:
- NODE_ENV=development
这是我运行的命令
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
命令失败,错误如下
Attaching to nestjs-api-server_app_1
app_1 |
app_1 | > BookAPI@0.0.1 start /usr/src/app
app_1 | > npm run copy-resources && nodemon --watch src -e ts,tsx --exec ts-node src/main.ts
app_1 |
app_1 |
app_1 | > BookAPI@0.0.1 copy-resources /usr/src/app
app_1 | > ts-node scripts/copy-resources.ts
app_1 |
app_1 | sh: 1: ts-node: not found
app_1 | npm ERR! code ELIFECYCLE
app_1 | npm ERR! syscall spawn
app_1 | npm ERR! file sh
app_1 | npm ERR! errno ENOENT
app_1 | npm ERR! BookAPI@0.0.1 copy-resources: `ts-node scripts/copy-resources.ts`
app_1 | npm ERR! spawn ENOENT
app_1 | npm ERR!
app_1 | npm ERR! Failed at the BookAPI@0.0.1 copy-resources script.
app_1 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
app_1 | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
app_1 |
app_1 | npm ERR! A complete log of this run can be found in:
app_1 | npm ERR! /root/.npm/_logs/2020-02-27T20_07_39_822Z-debug.log
app_1 | npm ERR! code ELIFECYCLE
app_1 | npm ERR! errno 1
app_1 | npm ERR! BookAPI@0.0.1 start: `npm run copy-resources && nodemon --watch src -e ts,tsx --exec ts-node src/main.ts`
app_1 | npm ERR! Exit status 1
app_1 | npm ERR!
app_1 | npm ERR! Failed at the BookAPI@0.0.1 start script.
app_1 | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
app_1 | npm WARN Local package.json exists, but node_modules missing, did you mean to install?
app_1 |
app_1 | npm ERR! A complete log of this run can be found in:
app_1 | npm ERR! /root/.npm/_logs/2020-02-27T20_07_39_847Z-debug.log
nestjs-api-server_app_1 exited with code 1
嘿,我尝试了这个解决方案,它的措辞与我,我希望它与你的工作以及 基本思想是,我们将从node_modules文件夹调用ts节点,而不是从local/bin文件夹(全局命令文件夹)调用ts节点
version: '3'
services:
app:
build: .
ports:
- '8081:8081'
version: '3'
services:
app:
command: npm start
volumes:
- .:/usr/src/app
environment:
- NODE_ENV=development
嘿,我尝试了这个解决方案,它的措辞与我,我希望它与你的工作以及 基本思想是,我们将从node_modules文件夹调用ts节点,而不是从local/bin文件夹(全局命令文件夹)调用ts节点
version: '3'
services:
app:
build: .
ports:
- '8081:8081'
version: '3'
services:
app:
command: npm start
volumes:
- .:/usr/src/app
environment:
- NODE_ENV=development
所以我们知道节点_模块丢失了。。。可能是您在构建时运行了
npm install
,然后将本地目录装载到同一路径—实际上覆盖了整个目录(并删除了您的node\u modules dir)?尝试从docker-compose.dev.yml中删除卷装载(第5行和第6行),然后docker-compose-up--build
是的,这似乎就是问题所在。接得好。谢谢你,安迪。所以我们知道节点_模块丢失了。。。可能是您在构建时运行了npm install
,然后将本地目录装载到同一路径—实际上覆盖了整个目录(并删除了您的node\u modules dir)?尝试从docker-compose.dev.yml中删除卷装载(第5行和第6行),然后docker-compose-up--build
是的,这似乎就是问题所在。接得好。谢谢你,安迪。