qq_33661507
同声
采纳率50%
2019-08-06 19:59 阅读 1.5k

Docker 中java程序对外请求,报错:Root Cause exception : java.net.UnknownHostException

1、在虚拟机中centos7 系统中,安装了Docker环境,想实现在docker中运行
“java -jar test.jar”,其中test.jar的main函数中会对外发起http请求,url=“http://plm.xxx.com:9091/xxx”,初始启动运行镜像文件就报错:


java.net.UnknownHostException: PLM
    at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901

2、我配置的dockfile 文件为:

From centos

MAINTAINER  liubin

ADD test.jar  test.jar

ADD  jdk-7u80-linux-x64.tar.gz /home/jdk/

ENV JAVA_HOME /home/jdk/jdk1.7.0_80

ENV PATH $JAVA_HOME/bin:$PATH

ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENTRYPOINT ["java","-jar","test.jar"]

3、直接尝试在centos环境中运行java -jar test.jar不会报异常,我的/etc/hosts文件中配置了PLM相关地址

127.0.0.1  node1  localhost
::1        node1  localhost
192.168.2.18    plm.xxx.com  plmapp  PLM #与请求地址相关的域名
192.168.2.113  ode1
192.168.2.128 AAASPLMIFS 

4、我的问题是docker 中运行java程序报这个UnknownHostException,是不是需要在Dockerfile中配置其它内容。

不好意思,最近没有积分呀、

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • zyq8514700 ArthornKing 2019-08-06 22:28

    现在你的docker容器里面ping一下,如果ping不同再看下DNS解析是否生效

    点赞 评论 复制链接分享
  • d592571519 C君. 2019-08-06 23:10

    启动容器时配置 --add-host 指定DNS解析

    点赞 评论 复制链接分享
  • yyjjttww yyjjttww 2019-08-07 09:43

    容器和宿主机网络不通。加个解析

    点赞 评论 复制链接分享

相关推荐