Skip to content

use-springboot3-to-docker-and-google-cloud-run

Published: at 上午12:57

use-springboot3-to-docker-and-google-cloud-run

springboot 3

下載專案

git clone https://github.com/kenyeresgeza/spring-boot-3-docker/tree/main

init

gradle
chmod +x gradlew
sudo ./gradlew
./gradlew clean build
gradle wrapper
./gradlew wrapper --gradle-version=<版本>
can check u gradle version cat ./gradle/wrapper/gradle-wrapper.properties
jdk 17
sudo apt install openjdk-17-jdk openjdk-17-jre
change java to 17
sudo update-alternatives --config java (select Java 17)
gradle bootJar

dockerlze

docker build -t sb3-docker-demo .

docker run -d -p 8080:8080 --name sb3-1 sb3-docker-demo

google-cloud-run

如何推上 artifacts registry

  1. UI 選擇好 這邊用台灣舉例

  2. 設定 gcloud image docker hub

gcloud auth configure-docker \
    asia-east1-docker.pkg.dev
  1. 假設 建立的存放區為 test-gcloud-run ,google 專案開立時的專案id 為 thisistest-project

打包時就需要加上位置

docker build -t  asia-east1-docker.pkg.dev/thisistest-project/test-gcloud-run/sb3-docker-demo .

test

docker run -d -p 8080:8080 --name test-sb3 asia-east1-docker.pkg.dev/thisistest-project/test-gcloud-run/sb3-docker-demo

deploy to artifacts

docker push  asia-east1-docker.pkg.dev/thisistest-project/test-gcloud-run/sb3-docker-demo

deploy to cloud run

gcloud run deploy sp3-test --image asia-east1-docker.pkg.dev/thisistest-project/test-gcloud-run/sb3-docker-demo --allow-unauthenticated --port=8080 --region=asia-east1 
--min-instances=0	--max-instances=2

執行完就會跟你說url 在哪裡 就可以嘗試呼叫了

http://XXXXXXXXXXX/greeting?name=John