【发布时间】:2020-06-21 22:07:01
【问题描述】:
在我的 github 操作工作流程中,我在运行我的 jest 测试脚本时收到此错误 (ECONNREFUSED)。该测试使用 axios 连接到我的 api,该 api 在通过 docker-compose 引导的容器中运行(在 github 工作流程本身期间创建)。该网络只有 2 个容器:api 和 postgres。因此,我假设我的测试脚本位于“主机网络”(github 工作流程)上,但它无法通过容器的映射端口到达 docker 网络。
- 然后我完全跳过了开玩笑测试,只是尝试直接 ping 容器。没用。
- 然后我修改了工作流程以检查应该已创建的默认 docker 网络:
更新 1
我已将问题范围缩小如下。当我修改撰写文件以依赖默认网络时(我的撰写文件中不再有networks:):
所以看起来容器从未连接到默认桥接网络。
更新 2
看起来我只是有错误的范例。读完后:https://help.github.com/en/actions/configuring-and-managing-workflows/about-service-containers
我意识到这根本不是 GA 期望我们实例化容器的方式。看起来我应该在工作流文件中使用 services: 节点,而不是使用我自己的 docker-compose 文件中的容器。 ???试试看……
【问题讨论】:
标签: docker github docker-compose github-actions