我正在使用Maven三角臂插件对我基于Spring Boot的应用程序进行Docker化。

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>

我的JIB插件中没有args或Entrypoint。我想通过论点来控制它。

运行“mvn clean install”时,我在日志中看到以下行。
Container entrypoint set to [java, -cp, /app/resources:/app/classes:/app/libs/*, com.test.Application]

我尝试将--spring.config.location作为程序参数传递如下。但这不是选择我的application.properties。我尝试修改起始类名称以检查其是否正常运行,但仍使用com.test.Application。看起来,这里没有考虑-c。

最佳答案

由于您正在使用Jib构建容器镜像,因此默认入口点为

ENTRYPOINT ["java", jib.container.jvmFlags, "-cp", "/app/resources:/app/classes:/app/libs/*", jib.container.mainClass]

副臂还使用仅包含运行时依赖项的非发行版镜像。因此,您无法在容器中运行bash

这应该做的工作。
docker run -e "spring.config.location=/secrets/application.yml" -v /local/path/config/:/secrets/ IMAGE:1.0

10-05 19:03