我有以下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。
我尝试不加引号,转义了竖线字符,但没有任何内容:(
有人遇到这个奇怪的问题,以及解决方法/解决方法?
已解决!
研究了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