티스토리 뷰

카테고리 없음

[GCP]spring boot 3 app 배포

수학소년 2024. 10. 12. 22:03

1. application.properties 배포용으로 하나를 만들기

application-local.properties에서 DB의 host가 localhost 였다면,

application-docker.properties에서는 'host.docker.internal'로 알고 있었지만, 이건 docker desktop, 즉 windows일때고,

linux에서는 172.17.0.1 라고 함. (터미널 접속해서 ip addr 쳐보면 docker의 inet값으로 하는거라는 말도 있음)

 

2. Dockerfile

app의 root directory에 생성

#Dockerfile
FROM bellsoft/liberica-openjdk-alpine:17 # spring boot 3 app을 실행하기 위한 jdk17 이미지
CMD ["./mvnw", "clean", "package"]

VOLUME /tmp

ARG JAR_FILE=target/*.war
COPY ${JAR_FILE} app.war # 위의 명령어로 만들어진 war파일을 docker로 가져가기
EXPOSE 8080 # app 포트번호
ENTRYPOINT ["java","-jar","/app.war","--spring.profiles.active=docker"] # profile을 docker로 app 실행

 

3. docker image만들기

Dockerfile이 있는 directory에서 다음 명령어 실행

(docker hub에 올려놓고 gcp 터미널에서 hub로부터 내려 받을 예정임)

$ docker build -t <docker-hub-id>/<image-name> .

 

4. docker hub로 push

$ docker push <docker-hub-id>/<image-name>

 

5. gcp 터미널에서 container 생성

$ docker run -d --name <app-name> -p 8080:8080 <docker-hub-id>/<image-name>

 

6. 배포 확인

https://<VM 인스턴스 외부IP>:8080/<요청url> 요청해보기

또는

docker container의 log 확인하기

$ docekr logs -f <app-name>
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함