2016-10-21 124 views
2

我嘗試使用內部ContainerStation獲取在我的QNAP NAS上運行的Docker鏡像(1.651.3或最新版本)。Docker:Jenkins容器無法在QNAP設備上訪問互聯網

只使用默認設置而不設置任何參數或綁定任何資源,我無法訪問互聯網。我已經嘗試了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 

任何想法可能是什麼問題?任何其他碼頭圖像都可以訪問互聯網,只有這張圖片有這些問題。

+0

你好,請你把你的Dockerfile? –

+0

我使用默認的jenkins dockerfile:https://github.com/jenkinsci/docker/blob/1.617/Dockerfile –

回答

1

我最近經歷了同樣的問題,在我的情況下,它竟然是由ACL列表上的QNAP引起的,防止詹金斯用戶在容器中讀取/etc/hosts/etc/resolv.conf文件。

下面是我如何修復它。也許它可以是對你有所幫助,以及:

  1. SSH到QNAP

    $ ssh [email protected]<your IP or domain name here>

  2. 手動創建詹金斯用戶在QNAP與UID 1000(同 UID作爲jenkins用戶在容器中)

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

  3. 登錄到QNAP web界面

  4. 導航到控制面板 - >用戶

  5. 點擊編輯共享文件夾的權限圖標爲詹金斯用戶

  6. 打勾RW checkbo X(讀/寫訪問)爲集裝箱文件夾 並單擊應用

  7. 啓動詹金斯容器

免責聲明:我不是系統管理員,所以我不知道這是否方法會導致您的系統出現任何安全問題。你可能想在外部訪問你的Jenkins網頁界面之前仔細研究一下...... :)

相關問題