title: Cant get AngularJS site running in Docker Container
body: <p>I have an angular site that I am attempting to run in a docker container (only through boot2docker right now).</p>
  
  <p>The <code>Dockerfile</code> looks like the following:</p>
  
  <pre><code>FROM ubuntu:14.04
  
  RUN sudo apt-get update
  RUN sudo apt-get install -y npm
  
  # Set in what directory commands will run
  WORKDIR /home/app
  
  # Put all our code inside that directory that lives in the container
  ADD . /home/app
  
  RUN sudo npm install &amp;&amp; \
      sudo npm install -g grunt-cli
  
  #Need to do this for npm and bower
  RUN ln -s /usr/bin/nodejs /usr/bin/node
  
  # Install dependencies
  RUN sudo npm install -g bower &amp;&amp; \
      sudo npm install -g grunt-cli &amp;&amp; \
      sudo npm install &amp;&amp; \
      bower install --config.interactive=false --allow-root
  
  EXPOSE 9000
  
  # The command to run our app when the container is run
  ENTRYPOINT ["npm","start"]
  </code></pre>
  
  <p>When I run <code>docker build -t web-app .</code> the image builds fine.</p>
  
  <p>And I run the following command to star the container</p>
  
  <pre><code>docker run --name my-web-app -p 9000:9000 -d web-app
  </code></pre>
  
  <p>If I run <code>docker logs</code> I can see that it is working...</p>
  
  <pre><code>&gt; sb-admin@0.0.0 start /home/app
  &gt; grunt serve
  
  Running "serve" task
  
  Running "clean:server" (clean) task
  Cleaning .tmp...OK
  
  Running "concurrent:server" (concurrent) task
  
      Running "copy:styles" (copy) task
      Copied 3 files
  
      Done, without errors.
  
  
      Execution Time (2015-07-27 05:04:02 UTC)
      loading tasks  2ms  ▇▇▇▇▇▇▇▇▇ 18%
      copy:styles    9ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 82%
      Total 11ms
  
  Running "autoprefixer:dist" (autoprefixer) task
  File .tmp/styles/main.css created.
  File .tmp/styles/sb-admin-2.css created.
  File .tmp/styles/timeline.css created.
  
  Running "connect:livereload" (connect) task
  Started connect web server on http://localhost:9000
  
  Running "watch" task
  Waiting...
  </code></pre>
  
  <p>If I run <code>npm start</code> manually (not in the container, just on my local) the site is available at <code>http://localhost:9000</code>, but when I navigate to the IP address that I get from <code>IP=$(boot2docker ip)</code> I get a connection refused.</p>
  
  <p>The same happens if I SSH into the container and run any of the following:</p>
  
  <pre><code>IP=$(docker inspect -f "{{ .NetworkSettings.IPAddress }}" my-web-app)
  curl -X GET $IP:9000
  </code></pre>
  
  <p>I feel like I have ran hundres of containers like this and accessed them fine, so I am not sure what I am doing wrong.</p>