[英]How to run docker container in a remote machine
我正在嘗試通過 DOCKER 運行這個 jenkins 管道代碼。 我在這里使用 AWS ec2-user 作為 VM。 這段代碼工作正常,但是......
node{
stage('SCM CHECKOUT'){
git 'https://bitbucket.org/rajesh212/myapp.git'
}
stage('MVN BUILD'){
def mvnHome = tool name: 'maven', type: 'maven'
sh "${mvnHome}/bin/mvn clean package"
}
stage('DEPLOYMENT VIA DOCKER'){
def customImage = docker.build("image:${env.BUILD_ID}")
docker.image("image:${env.BUILD_ID}").withRun('-p 9090:8080'){sleep 10000}
}
為了在遠程服務器上運行,您必須使用withServer
命令。
至於容器停止,請嘗試將withRun
命令更改為withRun('-d -p 9090:8080')
如果您使用的是聲明式管道,請嘗試此 ssh 命令。 作為先決條件,您需要設置一個密鑰對以允許 Jenkins ssh 進入遠程服務器。 對於安全問題,建議使用特定的 ssh 密鑰對進行部署:
stage('Deploy to Production') {
steps{
sh 'ssh -i path/to/deploy_private_key user@DNS_REMOTE_SERVER "docker run -d REGISTRY/YOUR_DOCKER_IMAGE:TAG"'
}
}
使用 -d 參數以分離模式運行容器。 希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.