docker
[docker] Dockerfile과 쉘 스크립트를 이용하여 스프링부트에서 빌드한 war파일 인스턴스 자동화 실행시키기
밍글링글링
2022. 11. 30. 17:22
728x90
아래는 dockerfile 이고,
Dockerfile
FROM tomcat:8.5.46-jdk8-openjdk
# tomcat root 경로 삭제
RUN rm -Rf /usr/local/tomcat/webapps/ROOT
ARG ENVIRONMENT
ENV SPRING_PROFILES_ACTIVE=${ENVIRONMENT}
ARG WAR_FILE=*.war
COPY ${WAR_FILE} /usr/local/tomcat/webapps/ROOT.war
#: docker build --build-arg ENVIRONMENT=dev -t mingty .
#: docker run -it -d --name mingty -p 3100:8080 -v /var/docker/develop/mingty:/var/docker/develop/mingty -e TZ=Asia/Seoul mingty
아래 소스는 기존 실행되고 있는 컨테이너와 이미지를 삭제하고, dockerfile로 이미지로 새로 빌드하여,
도커 인스턴스를 실행시키는 쉘 스크립트이다.
restartup.sh
#!/bin/bash
docker_name="mingty"
docker_env="dev"
docker_inPort="3100"
docker_outPort="8080"
docker_file_path="/var/docker" #dockerfile 이 있는 위치
echo '#: Stop Docker Container mingty'
docker stop ${docker_name}
echo '#: Remove Docker Container mingty'
docker rm ${docker_name}
echo '#: Remove Docker Image mingty '
docker rmi ${docker_name}
echo '#: Build Docker Image mingty'
docker build --build-arg ENVIRONMENT=${docker_env} -t ${docker_name} ${docker_file_path}
echo '#: Run Docker Container mingty'
docker run -it -d --name ${docker_name} -p ${docker_inPort}:${docker_outPort} -v /var/docker/:/var/docker -v /upload/file:/upload/file -e TZ=Asia/Seoul ${docker_name}
제가 쓰는 서버에서 구동되게 만들어서... 독자들이 알아서 커스텀해서 사용하길....
728x90