[英]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.