确定在Jenkins上进行Docker测试的开放端口的最佳实践是什么?
我正在构建要发布到注册表之前要使用Jenkins测试的Web应用程序(作为Docker映像)。 Jenkinsfile看起来像:
pipeline {
agent none
stages {
stage ("Docker Build & Test"){
agent {
label "docker"
}
steps {
script {
def img = docker.build("my-application")
img.withRun("-p 80:5000") {
// do stuff
}
}
}
post {
cleanup {
cleanWs()
}
}
}
}
}
但是,上述设置的问题在于端口5000可能被并发作业占用,从而导致分配失败。 是否可以动态地找到要使用的开放端口?