gpt4 book ai didi

typescript - 如何在 Docker 容器内的 NestJs 应用程序中观察文件更改

转载 作者:行者123 更新时间:2023-12-03 23:42:02 25 4
gpt4 key购买 nike

我遇到了 的问题NestJS docker .我想通过 npm start: dev 运行开发脚本,但问题是该应用程序运行正常,但未检测到源文件中的任何更改,因此我无法使用它来开发我的应用程序。

这是我的 的一部分docker-compose.yml :

messages:
image: c2c/messages:v1
command: npm run start:dev
build:
context: ./services/c2c-server-messages
dockerfile: Dockerfile
container_name: c2c_server_messages
depends_on:
- postgres
- nginx
networks:
c2c_net:
ipv4_address: 172.28.1.5

Dockerfile 我的 Nest 应用程序:
FROM node:10-alpine
WORKDIR /api/messages
ADD . .
RUN npm install
EXPOSE 3000
CMD ["npm", "run", "start"]

我的 npm start:dev 脚本在 package.json :
"start:dev": "tsc-watch -p tsconfig.build.json --onSuccess \"node dist/main.js\"",

控制台输出 给我看这个,但应用程序没有检测到文件更改:
c2c_server_messages | 7:26:29 PM - Found 0 errors. Watching for file changes.
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [NestFactory] Starting Nest application...
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [InstanceLoader] TypeOrmModule dependencies initialized +63ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [InstanceLoader] AppModule dependencies initialized +2ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [InstanceLoader] TypeOrmCoreModule dependencies initialized +151ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [InstanceLoader] TypeOrmModule dependencies initialized +1ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [InstanceLoader] MessageModule dependencies initialized +2ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [RoutesResolver] AppController {/}: +8ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [RouterExplorer] Mapped {/, GET} route +6ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [RoutesResolver] MessageController {/messages}: +1ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [RouterExplorer] Mapped {/, POST} route +2ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [RouterExplorer] Mapped {/all, GET} route +2ms
c2c_server_messages | [Nest] 36 - 07/31/2019, 7:26 PM [NestApplication] Nest application successfully started +5ms

最佳答案

我现在可以工作了:)

关键是创建一个音量 在 docker-compose 中使用微服务文件夹的本地机器根文件夹,在这种情况下 ./services/c2c-server-messages 作为容器中应用程序的根 :/api/messages

通过这种方式,您使用的是本地文件来运行应用程序,而不是复制到容器中的文件,因此您可以在保存文件时观察更改。

例子:

  messages:
image: c2c/messages:v1
volumes:
- ./services/c2c-server-messages:/api/messages
command: npm run start:dev
build:
context: ./services/c2c-server-messages
dockerfile: Dockerfile
container_name: c2c_server_messages
depends_on:
- postgres
- nginx
networks:
c2c_net:
ipv4_address: 172.28.1.5

关于typescript - 如何在 Docker 容器内的 NestJs 应用程序中观察文件更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57297703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com