起重臂maven弹簧靴外形

起重臂maven弹簧靴外形,maven,spring-boot,docker,environment,jib,Maven,Spring Boot,Docker,Environment,Jib,在我的springboot项目中,有三个配置文件 application.yml-->用于本地开发 application-test.yml-->在测试环境中运行 application-prod.yml-->在生产环境中运行 pom.xml 。。。 自我ip:端口 ... org.springframework.boot springbootmaven插件 com.google.cloud.tools jib maven插件 1.7.0 真的 openjdk:8-jre-alpine ${do

在我的springboot项目中,有三个配置文件

application.yml-->用于本地开发
application-test.yml-->在测试环境中运行
application-prod.yml-->在生产环境中运行

pom.xml

。。。
自我ip:端口
...
org.springframework.boot
springbootmaven插件
com.google.cloud.tools
jib maven插件
1.7.0
真的
openjdk:8-jre-alpine
${docker repository}/${project.groupId}/${project.artifactId}
使用\u当前\u时间戳
$JAVA_选项
-文件编码=UTF-8
-XX:+UseG1GC
-详细说明:gc-XX:+PrintGCDetails-XX:+PrintGCDateStamps-XX:+PrintGCTimeStamps-Xloggc:/var/log/gc.log
-Djava.security.egd=文件:/dev//uradom
然后推到我自己的私人docker存储库,没问题

mvn-DsendCredentialsOverHttp=true jib:build
在不同的机器上运行

#在我的测试机器上,我想这样运行
docker运行--名称测试xxx-d\
-第8080:8080页-第9080:9080页\
-e JAVA_OPTS=“-Xms256m-Xmx256m-Dspring.profiles.active=test-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080”\
-v~/logs:/logs\
自身ip:port/xxx/yyy
#在我的生产机器上,我想这样运行
docker run--名称prod xxx-d\
-p 8080:8080\
-e JAVA_OPTS=“-server-Xms1G-Xmx1G-Dspring.profiles.active=prod”\
-v/mnt/logs:/logs\
自身ip:port/xxx/yyy
当我在测试机上运行时,它失败了

docker container ls -al
CONTAINER ID    IMAGE   COMMAND                  CREATED         STATUS                     PORTS    NAMES
XXXXXXXXXXXX    xxx     "java $JAVA_OPTS -Df…"   3 seconds ago   Exited (1) 2 seconds ago            test-xxx
我的期望是这样的

#试验机
java-Xms256m-Xmx256m-Dspring.profiles.active=test\
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080\
-Dfile.encoding=UTF-8-XX:+UseG1GC-verbose:gc\
-XX:+PrintGCDetails-XX:+PrintGCDateStamps\
-XX:+PrintGCTimeStamps-Xloggc:/logs/gc.log\
-Djava.security.egd=文件:/dev//uradom\
-cp/app/resources:/app/classes:/app/libs/*\
xxx.yyy.main类
#生产机器
java-server-Xms1G-Xmx1G-dsspring.profiles.active=prod\
-Dfile.encoding=UTF-8-XX:+UseG1GC-verbose:gc\
-XX:+PrintGCDetails-XX:+PrintGCDateStamps\
-XX:+PrintGCTimeStamps-Xloggc:/logs/gc.log\
-Djava.security.egd=文件:/dev//uradom\
-cp/app/resources:/app/classes:/app/libs/*\
xxx.yyy.main类
我应该如何配置它<代码>容器-->环境或
dockerClient-->环境

我在文档中没有找到任何相关的例子,它们都只是一句话


更新1 Hi@Haran I将
$JAVA_OPTS
修改为
JAVA_TOOL_OPTS
并重新发布

并在测试中运行

docker容器rm测试xxx
docker运行--名称测试xxx-d\
-p 8080:8080\
-e“JAVA_TOOL_OPTIONS=-Xms256m-Xmx256m-Dspring.profiles.active=test-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080”\
ip:port/xx/yy
它也运行失败

$docker容器ls-al
容器ID映像命令已创建状态端口名称
XXXXXXXXXXXXXXX“java$java\u工具\u选项-Df…”3秒前退出(1)2秒前测试xxx
然后我删除$JAVA_TOOL_OPTS并重复上面的repush和
docker rm&run
,运行成功,但没有自定义环境

$docker exec-it测试xxx ps auxf
PID用户时间命令
1 root 0:05 java-Dfile.encoding=UTF-8-XX:+UseG1GC-verbose:gc-XX:+P
59根0:00 ps auxf
$docker ps--无trunc
容器ID映像命令已创建状态端口名称
xx yy“java-Dfile.encoding=UTF-8-xx:+UseG1GC'-verbose:gc-xx:+PrintGCDetails-xx:+PrintGCDateStamps-xx:+PrintGCTimeStamps-Xloggc:/logs/gc.log'-Djava.security.egd=file:/dev//uradom-cp/app/resources:/app/classes:/app/libs/*xx.yy.MainClass”34秒前到34秒0.0.0.0.0:8080->/tcp测试xxx

更新2
docker-e…
命令的引号在内部和外部没有区别

$docker run——名称测试xxx-d-p8080:8080\
-e JAVA_TOOL_OPTIONS=“-Xms256m-Xmx256m-Dspring.profiles.active=test-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080”\
ip:port/xx/yy
xxxxx
$docker exec-it测试xxx环境
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
主机名=4a7c5045109b
术语=xterm
JAVA_TOOL_OPTIONS=-Xms256m-Xmx256m-Dspring.profiles.active=test-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080
JAVA_HOME=/usr/lib/jvm/JAVA-1.8-openjdk/jre
JAVA_版本=8u212
JAVA_ALPINE_版本=8.212.04-r0
LANG=C.UTF-8
HOME=/root
$docker运行--名称test-xxx1-d-p 8081:8080\
-e“JAVA_TOOL_OPTIONS=-Xms256m-Xmx256m-Dspring.profiles.active=test-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9080”\
ip:port/xx/yy
xxxx
$docker exec-it测试-xxx1环境
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
主机名=ae333ad8836f
术语=xterm
JAVA_TOOL_OPTIONS=-Xms256m-Xmx256m-Dspring.profiles.active=test-agentlib:jdwp=t
$ docker run ... -e "JAVA_TOOL_OPTIONS=..."
$ JAVA_TOOL_OPTIONS=-Xmx256m java ABCD # no need to pass extra arguments
Picked up JAVA_TOOL_OPTIONS: -Xmx256m
Error: Could not find or load main class ABCD
$ docker run -e "JAVA_TOOL_OPTIONS=-Xmx256m" --entrypoint java openjdk:11 ABCD
Picked up JAVA_TOOL_OPTIONS: -Xmx256m
Error: Could not find or load main class ABCD
Caused by: java.lang.ClassNotFoundException: ABCD
  <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>jib-maven-plugin</artifactId>
        <version>2.2.0</version>
        <configuration>
            <to>
                <image>image-url</image>
            </to>
            <container>
                <creationTime>${​​​​​​maven.build.timestamp}​​​​​​</creationTime>
                <mainClass>com.package.SpringBootMainClass</mainClass>
                <args>
                    <arg>--spring.config.location=/demo/location/application.yml</arg>
                </args>
            </container>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>build</goal>
                </goals>
            </execution>
        </executions>
    </plugin>