diff --git a/docker_templates/swift/swift-account-server/Dockerfile.j2 b/docker_templates/swift/swift-account-server/Dockerfile.j2
new file mode 100644
index 0000000000..809091d4d2
--- /dev/null
+++ b/docker_templates/swift/swift-account-server/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-account \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-account-server/config-external.sh b/docker_templates/swift/swift-account-server/config-external.sh
new file mode 120000
index 0000000000..2e64f572a8
--- /dev/null
+++ b/docker_templates/swift/swift-account-server/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-account-server/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-account-server/start.sh b/docker_templates/swift/swift-account-server/start.sh
new file mode 120000
index 0000000000..6e17dfe7f1
--- /dev/null
+++ b/docker_templates/swift/swift-account-server/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-account-server/start.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-base/Dockerfile.j2 b/docker_templates/swift/swift-base/Dockerfile.j2
new file mode 100644
index 0000000000..eee2324d01
--- /dev/null
+++ b/docker_templates/swift/swift-base/Dockerfile.j2
@@ -0,0 +1,32 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install openstack-swift && yum clean all
+
+   {% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN echo '{{ install_type}} not yet available for {{ base_distro }}' \
+    && /bin/false
+
+    {% endif %}
+
+{% elif install_type == 'source' %}
+
+ADD ./swift.tar /
+RUN ln -s /swift-* /swift
+
+RUN cd /swift \
+    && useradd --user-group swift \
+    && pip install -r requirements.txt \
+    && pip install /swift \
+    && mkdir /etc/swift /var/log/swift \
+    && cp -r /swift/etc/* /etc/swift/ \
+    && rm -rf /root/.cache
+
+{% endif %}
+
+COPY config-swift.sh build-swift-ring.py /opt/kolla/
+RUN mkdir /opt/swift
diff --git a/docker_templates/swift/swift-base/build-swift-ring.py b/docker_templates/swift/swift-base/build-swift-ring.py
new file mode 120000
index 0000000000..de9cab77c4
--- /dev/null
+++ b/docker_templates/swift/swift-base/build-swift-ring.py
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-base/build-swift-ring.py
\ No newline at end of file
diff --git a/docker_templates/swift/swift-base/config-swift.sh b/docker_templates/swift/swift-base/config-swift.sh
new file mode 120000
index 0000000000..571e3b9ee1
--- /dev/null
+++ b/docker_templates/swift/swift-base/config-swift.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-base/config-swift.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-container-server/Dockerfile.j2 b/docker_templates/swift/swift-container-server/Dockerfile.j2
new file mode 100644
index 0000000000..b4b43d8dc2
--- /dev/null
+++ b/docker_templates/swift/swift-container-server/Dockerfile.j2
@@ -0,0 +1,17 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-container \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-container-server/config-external.sh b/docker_templates/swift/swift-container-server/config-external.sh
new file mode 120000
index 0000000000..880a5ca0e8
--- /dev/null
+++ b/docker_templates/swift/swift-container-server/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-container-server/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-container-server/start.sh b/docker_templates/swift/swift-container-server/start.sh
new file mode 120000
index 0000000000..bdce09ff9c
--- /dev/null
+++ b/docker_templates/swift/swift-container-server/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-container-server/start.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-data/Dockerfile.j2 b/docker_templates/swift/swift-data/Dockerfile.j2
new file mode 100644
index 0000000000..21bfc1d435
--- /dev/null
+++ b/docker_templates/swift/swift-data/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+# NOTE(pbourke): This is emulating the Swift "all-in-one" setups where there are 3 disks/partitions
+# on which to mirror data.  This is extremely inefficient and is really only to prove everything
+# works in an AIO setup. For production deploys the Ansible provisioned setup should be used.
+VOLUME [ "/srv/node/sdb1" ]
+VOLUME [ "/srv/node/sdb2" ]
+VOLUME [ "/srv/node/sdb3" ]
+
+# Command needed to start the data container.
+# Note: data containers do not need to be persistent.
+CMD ["/bin/true"]
diff --git a/docker_templates/swift/swift-object-auditor/Dockerfile.j2 b/docker_templates/swift/swift-object-auditor/Dockerfile.j2
new file mode 100644
index 0000000000..637501586d
--- /dev/null
+++ b/docker_templates/swift/swift-object-auditor/Dockerfile.j2
@@ -0,0 +1,7 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-object-auditor/config-external.sh b/docker_templates/swift/swift-object-auditor/config-external.sh
new file mode 120000
index 0000000000..600658a32f
--- /dev/null
+++ b/docker_templates/swift/swift-object-auditor/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-auditor/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-auditor/start.sh b/docker_templates/swift/swift-object-auditor/start.sh
new file mode 120000
index 0000000000..3ec3642221
--- /dev/null
+++ b/docker_templates/swift/swift-object-auditor/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-auditor/start.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-base/Dockerfile.j2 b/docker_templates/swift/swift-object-base/Dockerfile.j2
new file mode 100644
index 0000000000..54997a1145
--- /dev/null
+++ b/docker_templates/swift/swift-object-base/Dockerfile.j2
@@ -0,0 +1,14 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-object \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY config-swift-object.sh /opt/kolla/
diff --git a/docker_templates/swift/swift-object-base/config-swift-object.sh b/docker_templates/swift/swift-object-base/config-swift-object.sh
new file mode 120000
index 0000000000..615227fb40
--- /dev/null
+++ b/docker_templates/swift/swift-object-base/config-swift-object.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-base/config-swift-object.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-expirer/Dockerfile.j2 b/docker_templates/swift/swift-object-expirer/Dockerfile.j2
new file mode 100644
index 0000000000..8b211f2e44
--- /dev/null
+++ b/docker_templates/swift/swift-object-expirer/Dockerfile.j2
@@ -0,0 +1,18 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install \
+        openstack-swift-proxy \
+        openstack-swift-container \
+    && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-object-expirer/config-external.sh b/docker_templates/swift/swift-object-expirer/config-external.sh
new file mode 120000
index 0000000000..5ddb51de9a
--- /dev/null
+++ b/docker_templates/swift/swift-object-expirer/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-expirer/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-expirer/start.sh b/docker_templates/swift/swift-object-expirer/start.sh
new file mode 120000
index 0000000000..14c430192d
--- /dev/null
+++ b/docker_templates/swift/swift-object-expirer/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-expirer/start.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-replicator/Dockerfile.j2 b/docker_templates/swift/swift-object-replicator/Dockerfile.j2
new file mode 100644
index 0000000000..637501586d
--- /dev/null
+++ b/docker_templates/swift/swift-object-replicator/Dockerfile.j2
@@ -0,0 +1,7 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-object-replicator/config-external.sh b/docker_templates/swift/swift-object-replicator/config-external.sh
new file mode 120000
index 0000000000..a38035ba22
--- /dev/null
+++ b/docker_templates/swift/swift-object-replicator/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-replicator/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-replicator/start.sh b/docker_templates/swift/swift-object-replicator/start.sh
new file mode 120000
index 0000000000..bd47778bec
--- /dev/null
+++ b/docker_templates/swift/swift-object-replicator/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-replicator/start.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-server/Dockerfile.j2 b/docker_templates/swift/swift-object-server/Dockerfile.j2
new file mode 100644
index 0000000000..637501586d
--- /dev/null
+++ b/docker_templates/swift/swift-object-server/Dockerfile.j2
@@ -0,0 +1,7 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-object-server/config-external.sh b/docker_templates/swift/swift-object-server/config-external.sh
new file mode 120000
index 0000000000..b39b6afe5c
--- /dev/null
+++ b/docker_templates/swift/swift-object-server/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-server/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-server/start.sh b/docker_templates/swift/swift-object-server/start.sh
new file mode 120000
index 0000000000..97c98b6faf
--- /dev/null
+++ b/docker_templates/swift/swift-object-server/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-server/start.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-updater/Dockerfile.j2 b/docker_templates/swift/swift-object-updater/Dockerfile.j2
new file mode 100644
index 0000000000..637501586d
--- /dev/null
+++ b/docker_templates/swift/swift-object-updater/Dockerfile.j2
@@ -0,0 +1,7 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-object-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-object-updater/config-external.sh b/docker_templates/swift/swift-object-updater/config-external.sh
new file mode 120000
index 0000000000..c1ebd68089
--- /dev/null
+++ b/docker_templates/swift/swift-object-updater/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-updater/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-object-updater/start.sh b/docker_templates/swift/swift-object-updater/start.sh
new file mode 120000
index 0000000000..b0455b774e
--- /dev/null
+++ b/docker_templates/swift/swift-object-updater/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-object-updater/start.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-proxy-server/Dockerfile.j2 b/docker_templates/swift/swift-proxy-server/Dockerfile.j2
new file mode 100644
index 0000000000..b668f33e2b
--- /dev/null
+++ b/docker_templates/swift/swift-proxy-server/Dockerfile.j2
@@ -0,0 +1,14 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-swift-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net.kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
+
+RUN yum -y install openstack-swift-proxy && yum clean all
+
+    {% endif %}
+{% endif %}
+
+COPY ./start.sh /start.sh
+COPY config-external.sh /opt/kolla/
+CMD ["/start.sh"]
diff --git a/docker_templates/swift/swift-proxy-server/config-external.sh b/docker_templates/swift/swift-proxy-server/config-external.sh
new file mode 120000
index 0000000000..9bb7410f47
--- /dev/null
+++ b/docker_templates/swift/swift-proxy-server/config-external.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-proxy-server/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/swift/swift-proxy-server/start.sh b/docker_templates/swift/swift-proxy-server/start.sh
new file mode 120000
index 0000000000..be2f8abef2
--- /dev/null
+++ b/docker_templates/swift/swift-proxy-server/start.sh
@@ -0,0 +1 @@
+../../../docker/common/swift/swift-proxy-server/start.sh
\ No newline at end of file