2017-02-24 157 views
4

我有一個應用在端口8080的本地主機上運行。我有一些使用該服務的python代碼。該代碼在我的基本系統上運行良好,但只要我把它放在碼頭集裝箱內,我就可以得到urllib2.URLError: <urlopen error [Errno 111] Connection refused>。我有另一個應用程序在端口6543公開api。同樣的問題。從Docker容器內部向本地主機發出請求

我假設我需要告訴碼頭允許它使用某些本地主機端口。我怎麼做?

這裏有一些更具體的細節:

我可以執行這行代碼就好了我的基本系統:

urllib2.urlopen(req, json.dumps(dData)) 

但是當我嘗試從一個碼頭工人容器內,然後做我得到:

File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen 
    return opener.open(url, data, timeout) 
File "/usr/lib/python2.7/urllib2.py", line 431, in open 
    response = self._open(req, data) 
File "/usr/lib/python2.7/urllib2.py", line 449, in _open 
    '_open', req) 
File "/usr/lib/python2.7/urllib2.py", line 409, in _call_chain 
    result = func(*args) 
File "/usr/lib/python2.7/urllib2.py", line 1227, in http_open 
    return self.do_open(httplib.HTTPConnection, req) 
File "/usr/lib/python2.7/urllib2.py", line 1197, in do_open 
    raise URLError(err) 

urllib2.URLError: <urlopen error [Errno 111] Connection refused> 

我已經嘗試添加權限docker.sock

ls -l /var/run/docker.sock  
=> srw-rw-rwx 1 root docker 0 Feb 17 11:09 /var/run/docker.sock 
+0

http://stackoverflow.com/a/24326540/4720042選中此 –

回答

相關問題