diff --git a/kolla/cmd/build.py b/kolla/cmd/build.py
index bf5e5ba4c4760d6cea4369192bf39cf31e5ecde9..5753bf02af89f40952f805499a57974d762736d2 100755
--- a/kolla/cmd/build.py
+++ b/kolla/cmd/build.py
@@ -16,6 +16,7 @@
 
 import datetime
 import errno
+import graphviz
 import json
 import logging
 import os
@@ -558,6 +559,19 @@ class KollaWorker(object):
 
             self.images.append(image)
 
+    def save_dependency(self, to_file):
+        dot = graphviz.Digraph(comment='Docker Images Dependency')
+        dot.body.extend(['rankdir=LR'])
+        for image in self.images:
+            if image['status'] not in ['matched']:
+                continue
+            dot.node(image['name'])
+            if image['parent'] is not None:
+                dot.edge(image['parent']['name'], image['name'])
+
+        with open(to_file, 'w') as f:
+            f.write(dot.source)
+
     def find_parents(self):
         """Associate all images with parents and children"""
         sort_images = dict()
@@ -614,6 +628,12 @@ def main():
     queue = kolla.build_queue()
     push_queue = six.moves.queue.Queue()
 
+    if conf.save_dependency:
+        kolla.save_dependency(conf.save_dependency)
+        LOG.info('Docker images dependency is saved in %s',
+                 conf.save_dependency)
+        return
+
     for x in range(conf.threads):
         worker = WorkerThread(queue, push_queue, conf)
         worker.setDaemon(True)
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 68e1f7e5ed378faf654b34bdb3eea9bff6f5d472..f5d8f48d7559ff1fb45bb86b87f4613f6f1d1187 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -107,6 +107,9 @@ _CLI_OPTS = [
     cfg.StrOpt('registry', deprecated_group='kolla-build',
                help=('The docker registry host. The default registry host'
                      ' is Docker Hub')),
+    cfg.StrOpt('save-dependency',
+               help=('Path to the file to store the docker image'
+                     ' dependency in Graphviz dot format')),
     cfg.StrOpt('type', short='t', default='binary',
                choices=INSTALL_TYPE_CHOICES,
                dest='install_type', deprecated_group='kolla-build',
diff --git a/requirements.txt b/requirements.txt
index 20f5c9851f1201a1a99230fa62d1f8b94f091118..75ea8697380e008e02687b118a5c78184b2f0d4a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,3 +8,4 @@ gitdb>=0.6.4 # BSD License (3 clause)
 GitPython>=1.0.1 # BSD License (3 clause)
 six>=1.9.0
 oslo.config>=2.7.0 # Apache-2.0
+graphviz>=0.4.0 # MIT License