3
Jenkinsfile 또는 Jenkins 파이프 라인을 사용하여 새 이미지를 만들고 해당 이미지에서 컨테이너를 시작합니다. 그것은 처음으로 잘 작동합니다. 그러나 후속 실행에서는 이전 컨테이너를 중지하고 제거해야합니다. 내 젠킨스 파일은 다음과 같습니다 :Jenkinsfile에서 실행중인 컨테이너를 중지하려면 어떻게합니까?
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")
}
}
'도커 중지 컨테이너'단계가 실패했습니다. 컨테이너를 가져 와서 멈추게하는 올바른 API를 알지 못하기 때문입니다. 감사.
감사합니다. 저는 더 간단한 것을 사용했습니다. 'sh '도커 컨테이너 rm -f api-server'' – vijayst