ETC/Docker

Docker 기본 배포

Raconer 2024. 9. 3. 09:42
728x90

Dockerfile 

도커 이미지 생성 파일

FROM openjdk:11-jre-slim
WORKDIR /app
COPY ./application.jar /app/application.jar
RUN mkdir -p ./logs
CMD ["java", "-Duser.timezone=Asia/Seoul", "-Dspring.profiles.active=dev", "-jar", "application.jar"]

 

docker-compose.yml

도커 실행 파일

services:
  application:
    container_name: application_container
    restart: unless-stopped
    image: application-image:latest
    ports:
      - "8080:8080"
    volumes:
      - ./logs:/logs

 

restart.sh

재 실행 파일

#!/bin/bash

# restart Application With Docker
echo "Application Docker Restarting..."

IMAGE_NAME="application-image"
CONTAINER_NAME="application"

echo ""

echo "Move Jar File"
sudo mv -f /home/ubuntu/build/libs/application.jar ./application.jar

echo "Create Image"
sudo docker build -t $IMAGE_NAME .

echo "Check  Docker Running"

# 실행 중인 컨테이너 ID 가져오기

CONTAINER_ID=$(sudo docker ps -q -f name=$CONTAINER_NAME)

# 컨테이너 ID가 비어 있는지 확인
if [ -n "$CONTAINER_ID" ]; then
    echo "Stopping and removing existing container..."
    sudo docker stop $CONTAINER_ID
    sudo docker rm $CONTAINER_ID
else
    echo "No running container with the name $CONTAINER_NAME found."
fi

echo "Start Docker Compose '$CONTAINER_NAME' "
sudo docker-compose up -d

echo "Process Completed"
728x90

'ETC > Docker' 카테고리의 다른 글

Docker Network 기본 사용법 과 Tip  (0) 2023.08.09
Docker Network  (0) 2023.08.09
내가 이해한 Volume이란?  (0) 2023.08.03
Mysql 설정 및 기본 명령어  (0) 2023.08.03
Docker Swarm과 Kubernetes(K8s) 비교  (0) 2023.07.26