我有一个container,当我在笔记本电脑上运行container,登录到它的终端并向www.example.com发出curl请求时,它会启动一个web服务127.0.0.1器。当我在GitHub操作工作流中尝试相同的操作时,我得到:“curl:(7)无法连接到127.0.0.1端口80:连接被拒绝”。我试过添加端口(我认为这不是必须的),但它不会工作。我实际上认为apache没有运行的原因,但我不明白为什么,因为它确实在本地工作。
请参见下面的最小工作流文件:
name: Auto tests
on:
push:
branches: [ "master", "githubActions" ]
jobs:
build:
runs-on: ubuntu-latest
container:
image: php:7.4.33-apache-bullseye
steps:
- name: GET localhost
run: curl 127.0.0.1
我希望我得到这样的东西:
# curl localhost
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access this resource.</p>
<hr>
<address>Apache/2.4.54 (Debian) Server at localhost Port 80</address>
</body></html>
但我得到了“ curl :(7)连接本地主机端口80失败:连接被拒绝”。
1条答案
按热度按时间w46czmvw1#
steps
在容器内运行,而不是在容器旁边运行。请参阅在容器中运行作业。这就是为什么没有服务器在容器中运行,curl
失败的原因。您要查找的是
jobs.<job_id>.services
。有关详细信息,请参阅About service containers。对于
services
,工作流示例如下: