Docker:Jenkins容器无法在QNAP设备上访问互联网

时间:2016-10-21 17:27:28

标签: jenkins docker containers qnap

我尝试使用内部ContainerStation在我的QNAP NAS上运行Docker镜像(1.651.3或最新版本。)

只使用默认设置而不设置任何参数或绑定任何资源,我无法访问互联网。我已经尝试过NAT或主机网络模式,但这没什么区别。

堆栈跟踪

Oct 02, 2016 1:55:07 PM javax.jmdns.impl.HostInfo newHostInfo                                                                   
WARNING: Could not intialize the host network interface on nullbecause of an error: 5929616b9f0b: 5929616b9f0b: unknown error   
java.net.UnknownHostException: 5929616b9f0b: 5929616b9f0b: unknown error                                                        
    at java.net.InetAddress.getLocalHost(InetAddress.java:1505)                                                             
    at javax.jmdns.impl.HostInfo.newHostInfo(HostInfo.java:75)                                                              
    at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:407)                                                                
    at javax.jmdns.JmDNS.create(JmDNS.java:60)                                                                              
    at hudson.DNSMultiCast$1.call(DNSMultiCast.java:32)                                                                     
    at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)                         
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)                                                             
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)                                      
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)                                      
    at java.lang.Thread.run(Thread.java:745)                                                                                
Caused by: java.net.UnknownHostException: 5929616b9f0b: unknown error                                                           
    at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)                                                           
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)                                                       
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)                                              
    at java.net.InetAddress.getLocalHost(InetAddress.java:1500)                                                             
    ... 9 more    

使用bash:

$ ping google.de     
ping: unknown host  

知道可能是什么问题吗?任何其他泊坞窗图像都可以访问互联网,只有这个图像有这些问题。

1 个答案:

答案 0 :(得分:1)

我最近遇到了同样的问题,在我的情况下,它原来是由QNAP上的ACL列表引起的,导致容器中的 jenkins 用户无法读取/etc/resolv.conf$ ssh admin@<your IP or domain name here>个文件。

这是我如何解决它。也许它对你也有帮助:

  1. ssh到QNAP

    $ useradd -u 1000 -M -s /bin/false jenkins

  2. 使用UID 1000在QNAP上手动创建 jenkins 用户(相同) UID作为容器中的 jenkins 用户)

    position: relative;

  3. 登录QNAP网络界面

  4. 导航至控制面板 - &gt;的用户

  5. 点击 jenkins 用户的编辑共享文件夹权限图标

  6. 勾选 Container 文件夹的 RW 复选框(读/写访问权限) 然后单击应用

  7. 启动Jenkins容器

  8. 免责声明:我不是系统管理员,所以我不知道这种方法是否会导致系统出现任何安全问题。在向外部访问Jenkins Web界面之前,您可能需要查看它...:)