-
배포시 docker container 존재하면 삭제 후 container 새로 실행하는 코드Jenkins 2024. 1. 15. 20:24
image_name="study-jenkins" container_name="study-jenkins" if [[ "$(docker ps -q -f name=$container_name)" ]]; then echo "Container '$container_name' already exists, stopping and removing" docker stop $container_name docker rm $container_name fi docker build -t $image_name /var/www/project/study-jenkins/. docker run -d -p 1111:8080 --name $container_name $image_name:latest
-q
: 간결한 출력을 생성-f name=$container_name
: 특정 이름을 가진 컨테이너를 필터링if [[ ... ]]; then ... fi
: Bash 스크립트의 조건문 (공백문자 주의)
jenkins를 통해 dockerfile을 배포하는 경우 서버에서 해당 image instance가 실행중이라면 error 메세지를 출력하면서 배포 실패가 된다.
이런 경우에 위의 if문으로 실행중인 컨테이너가 있다면 삭제한 후에 이미지 인스턴스를 실행하도록 한다면 문제 없이 진행 할 수 있다.
출처 : chatGPT
'Jenkins' 카테고리의 다른 글
Jenkins ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [125]] (0) 2024.01.15 1. ubuntu 서버에 docker container 형태로 jenkins 설치하기 (0) 2023.11.29