Trong bài này chúng ta sẽ thực hiện một số thao tác cơ bản với Docker như build, push, pull, run trên GCP.
Trước tiên chúng ta cần open Cloud Shell.
Chúng ta sẽ được cửa sổ làm việc như dưới:
Clone project spring-boot như bên dưới:
git clone https://github.com/spring-guides/gs-spring-boot.git
Điều hướng đến …
cd gs-spring-boot/initial/
Sử dụng maven để build project:
mvn clean package
Trở về home directory và tạo Dockerfile:
touch Dockerfile
Dockerfile sẽ có nội dung như bên dưới:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
EXPOSE 8080
ARG JAR_FILE=gs-spring-boot/initial/target/gs-spring-boot-0.1.0.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Build a docker image:
docker build -t springboot:0.1 .
nó là footer mà
Get the project ID:
gcloud config list project
Thực hiện tag image với registry name theo format: [hostname]/[project-id]/[image]:[tag]
+ [hostname]: gcr.io
+ [project-id]: Project ID đã get ở trên
docker tag springboot:0.1 gcr.io/cavn-demopj/spring-boot:0.1
Push image to Google Cloud Registry:
docker push gcr.io/cavn-demopj/spring-boot:0.1
Remove images at local:
docker rmi springboot:0.1 gcr.io/cavn-demopj/spring-boot:0.1 openjdk:8-jdk-alpine
Pull the image from Google Cloud Registry:
docker pull gcr.io/cavn-demopj/spring-boot:0.1
docker run -d -p 8090:8080 --name springboot gcr.io/cavn-demopj/spring-boot:0.1
Run docker:
Test:
curl localhost:8090