title: docker -v and symlinks
body: <p>I am on a Windows machine trying to create a Dart server. I had success building and image with my files with <code>ADD</code> and running the container. However, it is painful to build an image every time I wan't to test my code so I thought it would be better to mount my files with the <code>-v</code> command since they are access live from my host machine at runtime.</p>
  
  <p>The problem is that dart's packages folder at <code>/bin/packages</code> is really a symlink (if its called symlink in windows) and docker or boot2docker or whatever doesn't seem able to go past it and I get</p>
  
  <pre><code>Protocol error, errno = 71
  </code></pre>
  
  <p>I've used dart with GAE and the <code>gcloud</code> command somehow created the container, got your files in there and reacted to changes in your host files. I don't know if they used the <code>-v</code> option (as I am trying) or they have some auto-builder that created a new image with your files using <code>ADD</code> and the ran it, in anycase that seemed to work.</p>
  
  <p><strong>More Info</strong></p>
  
  <p>I've been using this Dockerfile that I modified from <a href="https://registry.hub.docker.com/u/google/dart/" rel="nofollow">google/dart</a></p>
  
  <pre><code>FROM google/dart
  
  RUN ln -s /usr/lib/dart /usr/lib/dart/bin/dart-sdk
  
  WORKDIR /app
  
  # ADD pubspec.* /app/
  # RUN pub get
  # ADD . /app
  # RUN pub get --offline
  
  WORKDIR /app/bin
  
  ENTRYPOINT dart
  CMD server.dart
  </code></pre>
  
  <p>As you see, most of it is commented out because instead of <code>ADD</code> I'd like to use <code>-v</code>. However, you can notice that on this script they do <code>pub get</code> twice, and that effectively creates the packages <strong>inside</strong> the container.</p>
  
  <p>Using <code>-v</code> it can't reach those packages because they are behind <em>host symlinks</em>. However, <code>pub get</code> actually takes a while as it install the standard packages plus your added dependencies. It this the only way?</p>