gpt4 book ai didi

docker - 在 docker-compose 中通过 tcp 与 Nest.js 微服务对话

转载 作者:行者123 更新时间:2023-12-02 01:09:33 25 4
gpt4 key购买 nike

代码和更多文档可以在 repo 中找到

预期行为:

使用和不使用 docker 运行应用程序时都会收到响应。

我得到了什么:

在没有 Docker 的情况下运行应用程序但不在 Docker 内部运行时的响应。

我认为问题可能是:

该应用程序似乎在 docker 内部运行,但端口只是未正确通过。

我已经尝试过的:

  • 制作混合应用。发出 GET 请求,然后在内部传递给 TCP 微服务(这有效,但不是我想要的行为)。
  • 在 docker 容器内运行 yarn start:dev 而不是 yarn start:prod。这没有任何作用,但使用的端口又是相同的。
  • 像这样公开端口:(这什么也没做)
- target: 3000
published: 3000
protocol: tcp
mode: host

最佳答案

this issue ( this comment ) 解释

If no host is specified, NestJS will bind to localhost

这导致我无法连接在 docker 中运行的服务。因此,通过将主机设置为 0.0.0.0,我能够通过 TCP 进行连接。

完整示例:

const app = await NestFactory.createMicroservice(AppModule, {
transport: Transport.TCP,
options: {
host: '0.0.0.0',
port: 3000
}
});

关于docker - 在 docker-compose 中通过 tcp 与 Nest.js 微服务对话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58892667/

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