쿠버네티스 환경에서 어플리케이션을 배포하기 위해서는 프로젝트의 컨테이너 이미지를 생성해야한다.
wget 설치
sudo apt install wget
java 버전에 맞는 안정적인 gradle 설치
https://docs.gradle.org/current/userguide/compatibility.html#java
위 링크에서 java버전과 잘 호환되는 gradle 버전 확인
자바 버전이 21이라 8.5 버전 설치
wget https://services.gradle.org/distributions/gradle-8.5-bin.zip -P /tmp
upzip 설치 후 다운 받은 gradle upzip
sudo apt-get install unzip
sudo unzip -d /opt/gradle /tmp/gradle-8.5-bin.zip
nano 설치 후 환경 변수 설정
sudo apt-get install nano
sudo nano /etc/profile.d/gradle.sh
아래 내용 붙여넣고 ctrl + O 후에 엔터 후에 ctrl+X로 nano 편집기 나오
export GRADLE_HOME=/opt/gradle/gradle-7.5.1
export PATH=${GRADLE_HOME}/bin:${PATH}
작성한 스크립트 실행
sudo chmod +x /etc/profile.d/gradle.sh
환경 변수 로드
source /etc/profile.d/gradle.sh
gradle 버전 확인으로 설치 성공 확인
gradle -v
build.gradle 설정 추가
jar {
enabled=false
}
가장 먼저 git clone으로 이미지로 만들 프로젝트 가져오기
git clone {깃허브 repository 주소}
git clone한 프로젝트 폴더 들어가서
gradle wrap
jar 파일 생성
./build/libs에 jar가 생성됨.
./gradle clean build
Dockerfile 작성하기
프로젝트 폴더에 Dockerfile을 생성하고
FROM openjdk:버전
ARG JAR_FILE=jar가 있는 폴더
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
예시
FROM openjdk:21
ARG JAR_FILE=./build/libs/server-0.0.1-SNAPSHOT.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Docker hub에 가입 (웬만하면 구글 통해서 가입이 아닌 그냥 가입으로 하기)
Docker hub에 가입 했다면 로그인하기
docker login
또는 기본 인증으로 전환해서 그냥 유저명과 패스워드를 통한 로그인
docker login --username=유저명 --password=패스워드
docker login --username=유저명
로그인 후 이미지 만들기
docker build -t 유저명/리포지토리명:태그 .
예시
docker build -t choidongjun/graduationwork:test1 .
이미지 파일 Docker hub에 업로드
docker push 유저명/리포지토리명:태그
예시
docker push choidongjun/graduationwork:test1
728x90
'클라우드' 카테고리의 다른 글
OpenStack 기초, VLAN과 VXLAN (0) | 2024.10.05 |
---|---|
Container 기초 개념, VM과 Container (1) | 2024.10.01 |
Jenkins로 커밋 후 자동 빌드 ~ yaml 수정 후 push까지 pipeline script (윈도우 환경) (0) | 2024.08.17 |
이미지로 만든 Spring 프로젝트 쿠버네티스에 배포하기 (우분투 환경) (0) | 2024.08.12 |
쿠버네티스 Pods (0) | 2024.03.11 |