making requests to localhost from inside docker container

I have an application runing on my localhost at port 8080. I have some python code that consumes that service. The code runs fine on my base system but as soon as I put it inside a docker container I get urllib2.URLError: <urlopen error [Errno 111] Connection refused>. I have another application that exposes an api at port 6543. Same problem.

I assume I need to tell docker that it’s allowed to consume certain localhost ports. How do I do that?

  • What are the security and performance constraints of using docker containers in a RESTful API in order to execute untrusted code?
  • How to use docker and pycharm on mac?
  • Docker for dev and production
  • bundler installed gems not persisting in fig/docker
  • Docker network (namespaces): how to tag network packages?
  • Kubernetes: Cannot deploy flask web app with apache and https
  • Here are some more specific details:

    I can execute this line of code just fine on my base system:

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

    but when I try to do it from inside a docker container then I get:

    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>
    

    I’ve tried adding permissions to docker.sock

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

  • Docker Nginx + Node: address already in use
  • Add Seeds file after Dokku build
  • How do I create a PID trap for multiple commands separated by &&
  • Chronos scheduler, deploy on every nodes
  • How to setup heroku app locally using docker?
  • Changing the user's uid in a pre-build docker container (jenkins)
  • Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.