|
|
@ -8185,8 +8185,8 @@ If you put jar files in the layer before your application classes, Docker often
|
|
|
|
|
|
|
|
|
|
|
|
=== Layering Docker Images
|
|
|
|
=== Layering Docker Images
|
|
|
|
To make it easier to create optimized Docker images that can be built with a dockerfile, Spring Boot supports adding a layer index file to the jar.
|
|
|
|
To make it easier to create optimized Docker images that can be built with a dockerfile, Spring Boot supports adding a layer index file to the jar.
|
|
|
|
The `layers.idx` file lists all the files in the jar along with the layer that the file should go in.
|
|
|
|
It provides a list of layers and the parts of the jar that should be contained within them.
|
|
|
|
The list of files in the index is ordered based on the order in which the layers should be added.
|
|
|
|
The list of layers in the index is ordered based on the order in which the layers should be added to the Docker/OCI image.
|
|
|
|
Out-of-the-box, the following layers are supported:
|
|
|
|
Out-of-the-box, the following layers are supported:
|
|
|
|
|
|
|
|
|
|
|
|
* `dependencies` (for regular released dependencies)
|
|
|
|
* `dependencies` (for regular released dependencies)
|
|
|
@ -8198,14 +8198,17 @@ The following shows an example of a `layers.idx` file:
|
|
|
|
|
|
|
|
|
|
|
|
[source]
|
|
|
|
[source]
|
|
|
|
----
|
|
|
|
----
|
|
|
|
dependencies BOOT-INF/lib/library1.jar
|
|
|
|
- "dependencies":
|
|
|
|
dependencies BOOT-INF/lib/library2.jar
|
|
|
|
- BOOT-INF/lib/library1.jar
|
|
|
|
spring-boot-loader org/springframework/boot/loader/JarLauncher.class
|
|
|
|
- BOOT-INF/lib/library2.jar
|
|
|
|
spring-boot-loader org/springframework/boot/loader/jar/JarEntry.class
|
|
|
|
- "spring-boot-loader":
|
|
|
|
...
|
|
|
|
- org/springframework/boot/loader/JarLauncher.class
|
|
|
|
snapshot-dependencies BOOT-INF/lib/library3-SNAPSHOT.jar
|
|
|
|
- org/springframework/boot/loader/jar/JarEntry.class
|
|
|
|
application META-INF/MANIFEST.MF
|
|
|
|
- "snapshot-dependencies":
|
|
|
|
application BOOT-INF/classes/a/b/C.class
|
|
|
|
- BOOT-INF/lib/library3-SNAPSHOT.jar
|
|
|
|
|
|
|
|
- "application":
|
|
|
|
|
|
|
|
- META-INF/MANIFEST.MF
|
|
|
|
|
|
|
|
- BOOT-INF/classes/a/b/C.class
|
|
|
|
----
|
|
|
|
----
|
|
|
|
|
|
|
|
|
|
|
|
This layering is designed to separate code based on how likely it is to change between application builds.
|
|
|
|
This layering is designed to separate code based on how likely it is to change between application builds.
|
|
|
|