从docker容器中向localhost发出请求

我有一个应用程序运行在我的本地主机端口8080.我有一些Python代码,使用该服务。 代码在我的基础系统上运行良好,但是一旦我把它放入泊坞窗容器中,我得到urllib2.URLError: <urlopen error [Errno 111] Connection refused> 。 我有另一个应用程序,在端口6543暴露api。同样的问题。

我假设我需要告诉docker允许使用某些本地主机端口。 我怎么做?

以下是一些更具体的细节:

我可以在我的基本系统上执行这行代码:

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

但是当我试图从docker集装箱内部做到这一点时,我得到:

 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