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
-
UI 選擇好 這邊用台灣舉例
-
設定 gcloud image docker hub
gcloud auth configure-docker \
asia-east1-docker.pkg.dev
- 假設 建立的存放區為 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