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 0000000000000000000000000000000000000000..809091d4d255746440ee79e6306c6f99a8ffd391
--- /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 0000000000000000000000000000000000000000..2e64f572a8ba26fe21820da1ef458f9683838471
--- /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 0000000000000000000000000000000000000000..6e17dfe7f1c50ef71dec716537a594d2e8981dc9
--- /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 0000000000000000000000000000000000000000..eee2324d0174e1a5dd5dbdce997789266eb4f281
--- /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 0000000000000000000000000000000000000000..de9cab77c417a1d247c5e5f721cb0cd6f39bea65
--- /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 0000000000000000000000000000000000000000..571e3b9ee1324bf3612ae6762cce1400e432abdd
--- /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 0000000000000000000000000000000000000000..b4b43d8dc2f715d3ebd4d535ba3018d79ff0a0e2
--- /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 0000000000000000000000000000000000000000..880a5ca0e86c73bccb800ad3a10fa8db975fcea6
--- /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 0000000000000000000000000000000000000000..bdce09ff9cdc337d85fe0d0c46aab4a4b9fc4df6
--- /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 0000000000000000000000000000000000000000..21bfc1d4354352c7ff6fb20e68b0daf37fb27748
--- /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 0000000000000000000000000000000000000000..637501586d4f4280fef22f903a2f1c70f3f07b1c
--- /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 0000000000000000000000000000000000000000..600658a32f2d0fbf3c866a14702392d0b2b4a186
--- /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 0000000000000000000000000000000000000000..3ec3642221441d46422353e1fbe5e39b0ecb4039
--- /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 0000000000000000000000000000000000000000..54997a1145cb22b8dca4c7a2b6c2da85ce0ca722
--- /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 0000000000000000000000000000000000000000..615227fb40d18a59fbbf644211c533ceaff8b3e3
--- /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 0000000000000000000000000000000000000000..8b211f2e443ca6f285a10c42c64f325f73c2081d
--- /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 0000000000000000000000000000000000000000..5ddb51de9a3697ff173f559c53110d85b149b0d2
--- /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 0000000000000000000000000000000000000000..14c430192d08ba07ab923c5542f2c86735e53557
--- /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 0000000000000000000000000000000000000000..637501586d4f4280fef22f903a2f1c70f3f07b1c
--- /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 0000000000000000000000000000000000000000..a38035ba2239c89e9bdd5e7daf0544b5e1ecac0c
--- /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 0000000000000000000000000000000000000000..bd47778bec8652a9695d0595d906fa01e1a24d4c
--- /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 0000000000000000000000000000000000000000..637501586d4f4280fef22f903a2f1c70f3f07b1c
--- /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 0000000000000000000000000000000000000000..b39b6afe5cb7c5e5904bd490c86f51f80e57bea6
--- /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 0000000000000000000000000000000000000000..97c98b6faf367869cab8ccd7f58f73feec6e6a80
--- /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 0000000000000000000000000000000000000000..637501586d4f4280fef22f903a2f1c70f3f07b1c
--- /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 0000000000000000000000000000000000000000..c1ebd68089d717d774c6a0b95e54d44d5fdae2e0
--- /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 0000000000000000000000000000000000000000..b0455b774eff8930385587ff31efcdf09416483b
--- /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 0000000000000000000000000000000000000000..b668f33e2b8536a5662da14b5f71db3ccb77158a
--- /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 0000000000000000000000000000000000000000..9bb7410f4755031f2ae6a19018aa25360b8ab35f
--- /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 0000000000000000000000000000000000000000..be2f8abef21cd05b8517c8471b6999a535ee2f72
--- /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