【发布时间】:2020-06-04 06:01:30
【问题描述】:
最近,我一直在构建一个 nodejs 机器人来在 phpbb 论坛上运行游戏。我让机器人在我的机器上本地运行(登录、发布、抓取线程等),所以很自然地,我已经开始对它进行 docker 化。
但是,即使在我的 docker 容器内部运行登录工作流程时,我在尝试访问论坛的 api 时也会从容器内部收到 ECONNREFUSED 错误。上述api没有官方文档,所以很多都是自我调查。
我正在使用 axios v0.19.2 + strongcookie v4.0.0 运行 node v14.4.0 来处理请求。我能够从容器内部使用相同的有效负载成功地卷曲端点,所以我怀疑 axios/node.js 有什么东西让我头疼。我曾尝试查看 docker 和 ECONNREFUSED 的其他问题,但 stackoverflow 上的大多数问题都与容器间通信有关,而不是与外部 api/访问有关。
容器以 root 用户身份运行,我没有设置任何类型的代理或不稳定的网络。
有没有人有任何建议或暗示?我的 docker-compose 非常简单,但我已将其包含在下面以供参考。
version: '3.2'
services:
bot:
build: .
env_file:
- .env
ports:
- '80:80'
任何提示或理论将不胜感激;我已经完成了我的列表!
干杯!
【问题讨论】:
-
您是否尝试过使用服务器启动命令前的
sudo命令来启动您的节点应用程序?...可能是您的应用程序无权运行您的实现中的功能 end -点 -
我在容器内以 root 身份运行,并且使用
sudo显式运行我的构建和启动步骤仍然抛出ECONNREFUSED。 :( -
port 命令反过来工作,它将容器上的一个端口暴露给主机。
-
我正在公开那个端口,因为我也在围绕这个构建一个 API。 :) 您在下面关于使用主机网络的评论起到了作用!
标签: node.js docker docker-compose axios phpbb