【发布时间】:2020-03-25 03:49:50
【问题描述】:
我有以下 docker 配置:
FROM openjdk:8
ADD *.jar /service.jar
VOLUME /tmp
EXPOSE 8080
# Set timezone CET (DE Time)
ENV TZ=CET
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
CMD echo "The Service will start..." && \
java -DsocksProxyHost=192.168.1.250 -Dhttp.nonProxyHosts="192.168.1.5|192.168.1.36" -jar /service.jar
我遇到的问题是 java 8 中完全忽略了非代理。如果我切换到 openjdk:9 工作正常,但我不能这样做,因为该服务的内容强烈依赖于 jdk 8。
我尝试不引用,转义管道字符但什么都没有:(
有人遇到这个奇怪的问题,有解决方案/解决方法吗?
【问题讨论】:
-
这听起来像是新 JVM 的变化,就像你描述的那样;某些配置是否适用于 Docker 之外的相同 JVM 版本?
-
噗,在 docker 之外很难复制,因为它在 GCP 上,但是在 docker 上是可以的,我会在本地尝试一些魔法。
-
socksProxyHost应该是http.proxyHost -
不,有socksProxyHost,因为它是用于JDBC的
-
那么将带有 http.nonProxyHosts 的主机发送到哪里?