我正在使用 maven jib 插件来对基于 Spring boot 的应用程序进行 dockerize。
https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/resources/static</directory>
</resource>
</resources>
<outputDirectory>${project.build.directory}/webapp/static</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>0.9.13</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<from>
<image>${base.image}</image>
</from>
<to>
<image>${registry}/${repository}/${image}:${version}</image>
</to>
<extraDirectory>${project.build.directory}/webapp</extraDirectory>
</configuration>
</plugin>
我使用以下命令在 Kubernetes 中运行。来自 Kubernetes 部署 yaml 文件的片段。
- args:
- -c
- java -cp /app/libs/*:/app/resources/:/app/classes/ -Xmx2g -Xms2g com.test.Application
--spring.config.location=/config/application.properties
command:
- /bin/sh
image: ....
它运行良好。我对使用 docker 运行相同的东西感到困惑。
我尝试了以下命令,但是,它没有选择 applicaiton.properties 文件。我的 application.properties 在 /local/path/config 文件夹下。
docker run IMAGE /bin/bash -c "java -cp /app/libs/*:/app/resources/:/app/classes/ -Xmx2g -Xms2g com.test.Application --spring.config.location=/config /application.properties" -v /local/path/config:/config/