title: When to pull from Docker repo and when from Git repo and then build?
body: <p>Suppose I have a machine. It can be a single production server, one of production nodes in a cluster, some kind of staging server, a server or a cluster for testing or a developer workstation. Or something different.</p>
  
  <p>Now I want to deliver app to the machine and run it. I can <code>git pull &amp;&amp; docker build</code>. Or I can just <code>docker pull</code>. Or I can <code>git pull</code> to another machine and then <code>scp</code> code instead. Or I can <code>scp</code> docker image tar and then <code>docker load</code> instead of <code>docker pull</code>.</p>
  
  <p>Sure, Git and Docker are completely different and often used both at the same time. However both have repositories and both can be used to store and deliver code. Even the commands themselves are called the same: push and pull. Docker even has image tags which resemble commits to some limited extend. Because tags also help keep several versions of the app.</p>
  
  <p>There is even a tool for delivery of apps in Production completely based on Git. It's Capistrano. Capistrano <code>git pull</code>s the code to anther directory and then redirects a symlink to it in order to deploy.</p>
  
  <p>The question is which reasons to consider when deciding whether to <code>git pull</code> or <code>docker pull</code> the code to deliver it to a machine?</p>