openjdk:8 和 nonProxyHosts 不工作

Ant*_*ila 6 java ip proxy docker

我有以下 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
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是非代理在 java 8 中完全被忽略。如果我切换到 openjdk:9 工作正常,但我不能这样做,因为该服务具有强烈依赖 jdk 8 的东西。

我尝试不引用,转义管道字符,但什么也没有:(

有人有这个奇怪的问题,有解决方案/解决方法吗?

Ant*_*ila 5

解决了!

在研究了 openjdk8 和 openjdk9 的来源后,我发现我需要指定两次非代理 ip 列表。所以openjdk8的解决方案是:

java -DsocksProxyHost=192.168.1.250 -Dhttp.nonProxyHosts="192.168.1.5|192.168.1.36" -DsocksNonProxyHosts="192.168.1.5|192.168.1.36" -jar /service.jar
Run Code Online (Sandbox Code Playgroud)