相关疑难解决方法(0)

如何在Jenkinsfile中停止正在运行的容器?

我有一个Jenkinsfile或Jenkins管道,它创建一个新图像并从该图像中启动一个容器.它第一次运作良好.但是在后续运行中,我希望停止并删除前一个容器.我的Jenkins文件如下:

node {
   def commit_id
   stage('Preparation') {
     checkout scm
     sh "git rev-parse --short HEAD > .git/commit-id"                        
     commit_id = readFile('.git/commit-id').trim()
   }
   stage('docker build/push') {
     docker.withRegistry('https://index.docker.io/v1/', 'dockerhub') {
       def app = docker.build("my-docker-id/my-api:${commit_id}", '.').push()
     }
   }
   stage('docker stop container') {
       def apiContainer = docker.container('api-server')
       apiContainer.stop()
   }
   stage('docker run container') {
       def apiContainer = docker.image("my-docker-id/my-api:${commit_id}").run("--name api-server --link mysql_server:mysql --publish 3100:3100")
   }
}
Run Code Online (Sandbox Code Playgroud)

舞台'docker stop container'失败了.那是因为我不知道正确的API来获取容器并阻止它.谢谢.

jenkins docker jenkins-docker jenkins-pipeline

4
推荐指数
1
解决办法
4742
查看次数