title: Docker listening in container but not answering outside, why?
body: <p>I have a docker container built with "EXPOSE 8000" among its instructions.  I started the process like this:</p>
  
  <pre><code>sudo docker run -t -i -P imagename
  </code></pre>
  
  <p>The process in the container is listening on 8000.</p>
  
  <pre><code># netstat -a
  Active Internet connections (servers and established)
  Proto Recv-Q Send-Q Local Address           Foreign Address         State      
  tcp        0      0 localhost:8000          *:*                     LISTEN     
  Active UNIX domain sockets (servers and established)
  Proto RefCnt Flags       Type       State         I-Node   Path
  # 
  </code></pre>
  
  <p>On the host (i.e., outside the container), I see that port 49164 is bound to container port 8000:</p>
  
  <pre><code>[S-22]jeff@siegfried:~ $ sudo docker ps 
  CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS              PORTS                     NAMES
  0b0e333c6ec9        lkz:latest                 "/bin/bash"         About an hour ago   Up 6 minutes        0.0.0.0:49164-&gt;8000/tcp   lkxyz__2015-01-18_202737   
  [S-22]jeff@siegfried:~ $ 
  </code></pre>
  
  <p>Inded, <code>docker inspect</code> says (among other things)</p>
  
  <pre><code>"NetworkSettings": {
      "Bridge": "docker0",
      "Gateway": "172.17.42.1",
      "IPAddress": "172.17.0.16",
      "IPPrefixLen": 16,
      "PortMapping": null,
      "Ports": {
          "8000/tcp": [
              {
                  "HostIp": "0.0.0.0",
                  "HostPort": "49164"
              }
          ]
      }
  },
  </code></pre>
  
  <p>And yet, I can't talk to the container.  Outside,</p>
  
  <pre><code>[S-22]jeff@siegfried:~ $ telnet localhost 49164
  Trying 127.0.0.1...
  Connected to localhost.
  Escape character is '^]'.
  Connection closed by foreign host.
  1,[S-22] jeff@siegfried:~ $ 
  </code></pre>
  
  <p>while inside,</p>
  
  <pre><code># telnet localhost 8000
  Trying ::1...
  Trying 127.0.0.1...
  Connected to localhost.
  Escape character is '^]'.
  GET /
  
  [18/Jan/2015 23:00:59] "GET /" 200 4066
  &lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;head&gt;
  ...
  </code></pre>
  
  <p>I would expect the telnet to 49164 on the outside to return html as it does on the inside.</p>
  
  <p>Any suggestions?</p>