diff --git a/docker/neutron/neutron-agents/Dockerfile.j2 b/docker/neutron/neutron-agents/Dockerfile.j2
index 65ba46c8de..a48ceb7b61 100644
--- a/docker/neutron/neutron-agents/Dockerfile.j2
+++ b/docker/neutron/neutron-agents/Dockerfile.j2
@@ -17,6 +17,15 @@ RUN apt-get install -y --no-install-recommends supervisor \
 
 COPY supervisord.conf /etc/supervisor/
 
+    {% if install_type == 'binary' %}
+
+RUN apt-get install -y --no-install-recommends \
+        neutron-metadata-agent \
+        neutron-dhcp-agent \
+        neutron-l3-agent \
+    && apt-get clean
+
+    {% endif %}
 {% endif %}
 
 # TODO: SamYaple FWaaS is part of the l3-agent, not a seperate agent that is
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index 2a4dad52bb..99afbdaf8f 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/docker/neutron/neutron-base/Dockerfile.j2
@@ -13,6 +13,16 @@ RUN yum -y install \
 # TODO (sdake): remove once RDO adds to the openstack-neutron package
 RUN pip install oslo.versionedobjects
 
+    {% elif base_distro in ['ubuntu'] %}
+
+RUN apt-get install -y --no-install-recommends \
+        neutron-plugin-ml2 \
+        openvswitch-switch \
+        neutron-server \
+    && apt-get clean \
+    && mkdir -p /usr/share/neutron \
+    && ln -s /etc/neutron/api-paste.ini /usr/share/neutron/api-paste.ini
+
     {% endif %}
 {% elif install_type == 'source' %}
     {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2 b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
index f389996590..d28797293e 100644
--- a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
@@ -10,6 +10,13 @@ RUN yum install -y \
         openstack-neutron-linuxbridge \
     && yum clean all
 
+    {% elif base_distro in ['ubuntu'] %}
+
+RUN apt-get install -y --no-install-recommends \
+        ebtables \
+        neutron-plugin-linuxbridge \
+    && apt-get clean
+
     {% endif %}
 {% elif install_type == 'source' %}
     {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2 b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
index eaf446af68..de075da25e 100644
--- a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
@@ -10,6 +10,14 @@ RUN yum install -y \
         openvswitch \
     && yum clean all
 
+    {% elif base_distro in ['ubuntu'] %}
+
+RUN apt-get install -y --no-install-recommends \
+        neutron-plugin-openvswitch \
+        openvswitch-switch \
+        neutron-plugin-openvswitch-agent \
+    && apt-get clean
+
     {% endif %}
 {% elif install_type == 'source' %}
     {% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}