如何解决无法通过Google Cloud Build访问Localhost
我正在尝试使用GCP中的Google Cloud Build构建项目。这是我的cloudbuild.yaml文件示例。
steps:
- id: Docker Run
name: gcr.io/cloud-builders/docker
args: ['run','-p','8080:8080','--name','test','-d','asia.gcr.io/project/myTomcatImage:latest']
- id: Export
name: gcr.io/cloud-builders/javac
waitFor:
- Docker Run
entrypoint: bash
args:
- -exc
- |
chmod 755 ./tool/deploy.sh
./tool/deploy.sh
env:
- _EXPORT_VALUE=${_EXPORT_VALUE}
- id: Docker Commit
name: gcr.io/cloud-builders/docker
args: ['commit','asia.gcr.io/project/myTomcatImage:latest']
- id: Docker Push
name: gcr.io/cloud-builders/docker
args: ['push','asia.gcr.io/project/myTomcatImage:latest']
“ myTomcatImage”是基于Tomcat8.5的docker映像。打开8080端口后,我必须在“导出”步骤的./tool/deploy.sh中访问http://127.0.0.1:8080。(在Shell脚本中,有一个使用tomcat服务器的可运行jar文件)
我以为它可以用,但是却引起了如下错误。
Connect to 127.0.0.1:8080 [/127.0.0.1] failed: Connection refused (Connection refused)
我试图授予访问云源存储库,打开防火墙的权限,但是不起作用。 谁能给我一些访问云构建本地主机的想法?或其他解决方案?感谢您的帮助。
解决方法
Cloud Build的原理非常简单。每个步骤都是独立的,每个步骤之间仅保留/workspace
目录。
因此,先加载一个容器,完成一个过程,然后再从内存中卸载与已加载的容器/运行过程相关的所有内容,然后运行下一步。
最后,所有这些都说明您在运行导出步骤时docker run
命令不再运行。
如何解决?
在同一步骤中,您需要运行docker映像并运行deploy.sh
。例如,如果您需要Java,则需要将其安装在第一步的Docker映像上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。