Dockerfile & docker.sh

남현우·2023년 4월 18일
0

젠킨스 CI/CD 구성하기 전
쿠버네티스에서 도커 배포 시
Build, Tag, Rmi, Dockerfile 변수 처리

deploy.sh

#!/bin/bash

input=$1

sh ./jar/$input.sh

echo "Sleep 1"
sleep 1

echo "5. Kubectl Delete"
kubectl delete -f ./kube/$input.yaml

echo "6. Kubectl Deploy"
kubectl apply -f ./kube/$input.yaml

$input.sh

docker_registry=my.registry.com:8443/library/
list=input

echo "1. Docker rmi"
for var in $list
do
        echo "  Remove = " $var
        docker rmi -f $var:latest
        docker rmi -f $docker_registry$var:latest
done

echo "2. Docker Build"
for var in $list
do
        echo "  build = " $var
        docker build -t $var --build-arg imgName=$var .
done

echo "3. Docker Tag"
for var in $list
do
        echo "  Tag = " $var
        docker tag $var $docker_registry$var
done

echo "4. Docker Push"
for var in $list
do
        echo "  Tag = " $var
        docker push $docker_registry$var
done

Dockerfile

FROM openjdk:11
ARG imgName=init
COPY ./jar/$imgName.jar ./excute.jar
ENTRYPOINT ["java", "-Dspring.profiles.active=dev", "-jar", "./excute.jar"]
EXPOSE 8088

excute.jar 라고 설정한거는, ENTRYPOINT 마지막에 ""안에 $변수가 먹지를 않는다.

profile
노력하는 프로그래머

0개의 댓글