1. Tambahkan konfigurasi maven
<properties> <docker.image.prefix>ms4t</docker.image.prefix> </properties> <build> <finalName>eureka</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</version> <configuration> <repository>${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin> </plugins> </build>
2. Cipta Fail Docker
FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
Penjelasan parameter:
DARI
Binaan seterusnya akan berdasarkan imej ini Jika berbilang imej dicipta dalam fail Docker yang sama, berbilang arahan FROM boleh digunakan
VOLUME. konfigurasi Direktori dengan fungsi kegigihan Fail sementara dibuat dalam direktori hos /var/lib/docker dan dipautkan ke /tmp bekas. Langkah pengubahsuaian adalah pilihan, tetapi ia perlu jika aplikasi melibatkan sistem fail
. Direktori /tmp digunakan untuk meneruskan folder data Docker, kerana bekas Tomcat terbenam yang digunakan oleh Spring Boot menggunakan /tmp sebagai direktori kerja secara lalai
ARG menetapkan parameter yang ditambahkan. apabila menyusun imej ENV adalah untuk menetapkan pembolehubah persekitaran bekas
COPY: hanya menyokong penyalinan fail tempatan ke bekas. Terdapat juga ADD yang lebih berkuasa tetapi lebih rumit
ENTRYPOINT Perintah dilaksanakan apabila bekas bermula
DEDAHKAN 8080 port imej terdedah
3. Bina
mvn install dockerfile:build
4
Atas ialah kandungan terperinci Analisis prinsip docker dalam springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!