我在PORT:8084上公開的容器上運行 spring boot 應用程式。影像被推送到 docker hub 然后我在 Jenkinsfile 上有這個腳本,它在容器上運行影像:
stage('Deploying the image into a container'){
steps {
echo "Installing the app "
sh 'docker run $imagename:$BUILD_NUMBER -p 8084:8084 -d --name $dockerImage '
}
}
該應用程式在“本地主機:8084”上無法訪問,容器已啟動并在運行時docker-ps:
33f8cb4d98e6 28609002/time_sheet_dev_ops:38 "java -jar time_shee…" 29 minutes ago Up 3 seconds 8084/tcp focused_merkle
但是當我在終端中手動運行影像時,可以訪問該應用程式:
docker run -d -p 8084:8084 imagename
運行時docker ps:
50715adaa50c 28609002/time_sheet_dev_ops:latest "java -jar time_shee…" 8 seconds ago Up 7 seconds 0.0.0.0:8084->8084/tcp, :::8084->8084/tcp distracted_shamir
唯一的區別在于埠輸出,我嘗試添加-b 0.0.0.0到運行命令中,還嘗試通過“127.0.0.1:8084”和許多其他解決方案訪問應用程式,但似乎沒有任何東西使它在 CI/CD 管道中作業
uj5u.com熱心網友回復:
嘗試之后run和之前的選項image。
這是docker run --help輸出:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
所以,正確的命令:
sh 'docker run -p 8084:8084 -d --name $dockerImage $imagename:$BUILD_NUMBER'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/334154.html
