title: Docker: mounting volume and run node apps
body: <p>For the first time I am trying to use docker for development purpose. I have  a node apps .I want to run the apps from docker. Here is my dockerfile:</p>
  
  <pre><code>FROM node:6.0.0-slim
  MAINTAINER pyprism
  
  # Prepare app directory
  RUN mkdir -p /src/
  
  # Install dependencies
  WORKDIR /src/
  
  VOLUME .:/src/
  
  RUN npm install
  
  # Build the app
  # RUN npm build
  
  # Expose the app port
  EXPOSE 8000
  
  # Start the app
  CMD npm start
  </code></pre>
  
  <p>and docker-compose file:</p>
  
  <pre><code>web:
    build: .
    ports:
      - '8000:8000'
  </code></pre>
  
  <p>But when I run <code>docker-compose up</code>  I got this errors:</p>
  
  <pre><code>Building web
  Step 1 : FROM node:6.0.0-slim
   ---&gt; 7bf50b1ad9da
  Step 2 : MAINTAINER pyprism
   ---&gt; Running in d1defd389fe6
   ---&gt; b684686c614d
  Removing intermediate container d1defd389fe6
  Step 3 : RUN mkdir -p /src/
   ---&gt; Running in 36b64560f88f
   ---&gt; 8eb6847d67e4
  Removing intermediate container 36b64560f88f
  Step 4 : WORKDIR /src/
   ---&gt; Running in 00d4c1fd2cf5
   ---&gt; 88a54e6af176
  Removing intermediate container 00d4c1fd2cf5
  Step 5 : VOLUME .:/src/
   ---&gt; Running in dc0e9d9d973a
   ---&gt; b558f03ce63c
  Removing intermediate container dc0e9d9d973a
  Step 6 : RUN npm install
   ---&gt; Running in 09445786b71e
  npm info it worked if it ends with ok
  npm info using npm@3.8.6
  npm info using node@v6.0.0
  npm info lifecycle undefined~preinstall: undefined
  npm info linkStuff !invalid#1
  npm info lifecycle undefined~install: undefined
  npm info lifecycle undefined~postinstall: undefined
  npm info lifecycle undefined~prepublish: undefined
  npm WARN enoent ENOENT: no such file or directory, open '/src/package.json'
  npm WARN src No description
  npm WARN src No repository field.
  npm WARN src No README data
  npm WARN src No license field.
  npm info ok 
   ---&gt; 8c544294e6c5
  Removing intermediate container 09445786b71e
  Step 7 : EXPOSE 8000
   ---&gt; Running in 965e192bc67e
   ---&gt; daaf52fac6ca
  Removing intermediate container 965e192bc67e
  Step 8 : CMD npm start
   ---&gt; Running in 890549e3aea7
   ---&gt; 19a3dc786cee
  Removing intermediate container 890549e3aea7
  Successfully built 19a3dc786cee
  WARNING: Image for service web was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
  Creating redux_web_1
  Attaching to redux_web_1
  web_1  | npm info it worked if it ends with ok
  web_1  | npm info using npm@3.8.6
  web_1  | npm info using node@v6.0.0
  web_1  | npm ERR! Linux 4.4.0-22-generic
  web_1  | npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
  web_1  | npm ERR! node v6.0.0
  web_1  | npm ERR! npm  v3.8.6
  web_1  | npm ERR! path /src/package.json
  web_1  | npm ERR! code ENOENT
  web_1  | npm ERR! errno -2
  web_1  | npm ERR! syscall open
  web_1  | 
  web_1  | npm ERR! enoent ENOENT: no such file or directory, open '/src/package.json'
  web_1  | npm ERR! enoent ENOENT: no such file or directory, open '/src/package.json'
  web_1  | npm ERR! enoent This is most likely not a problem with npm itself
  web_1  | npm ERR! enoent and is related to npm not being able to find a file.
  web_1  | npm ERR! enoent 
  web_1  | 
  web_1  | npm ERR! Please include the following file with any support request:
  web_1  | npm ERR!     /src/npm-debug.log
  redux_web_1 exited with code 254
  </code></pre>