首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jenkins中运行在Docker容器中的env.BUILD_URL正确地获取外部网络端口号?

问如何在jenkins中运行在Docker容器中的env.BUILD_URL正确地获取外部网络端口号?
EN

Stack Overflow用户
提问于 2016-10-27 12:51:46
回答 1查看 770关注 0票数 0

从詹金斯的正式码头形象中试用詹金斯

代码语言:javascript
复制
docker run -d -p 8090:8080 jenkins

注意,我已经选择了我的主机的8090端口来映射到码头容器的8080端口。

现在,在jenkins内部,我正在运行一个示例管道,其中只有一行

代码语言:javascript
复制
echo "${env.BUILD_URL}"

作为这个管道脚本的结果,管道控制台输出显示了以下内容

代码语言:javascript
复制
http://localhost:8090/job/sample_pipeline/1/

注意端口号8090

我的问题是,

容器内部的jenkins如何知道我将8090设置为主机端口,应该映射到jenkins容器的8080端口?

我的意思是,在从码头容器中调用env.BUILD_URL时,jenkins不是应该查看自己的主机并将端口8080作为其运行的端口号返回吗?

Jenkins不应该知道它是作为一个容器运行的,它需要在其容器范围之外查看以确定它映射到的外部端口号是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-09-14 12:49:24

由于您使用http://localhost:8090访问控制台并触发构建,我猜它是从那里提取的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40285069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档