Main Page/Containers in Openstack Kolla

== Containers in Openstack: Kolla ==
Kolla’s mission is to provide production-ready containers and deployment tools for operating OpenStack clouds.
To install it just type # yum install openstack-kola
In other words kolla-build command creates the openstack containers automatically based on a collection of Dockerfiles
This Dockerfiles can be found in /usr/share/kolla/docker/
Dockerfiles looks like:
# cat /usr/share/kolla/docker/nova/nova-api/Dockerfile.j2 
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
{% block nova_api_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
 {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
 {% set nova_api_packages = [
 'openstack-nova-api',
 'httpd',
 'mod_wsgi'
 ] %}
{{ macros.install_packages(nova_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf
 {% elif base_distro in ['ubuntu'] %}
 {% set nova_api_packages = [
 'nova-api',
 'python-memcache',
 'apache2',
 'libapache2-mod-wsgi'
 ] %}
{{ macros.install_packages(nova_api_packages | customizable("packages")) }}
RUN echo > /etc/apache2/ports.conf
 {% endif %}
{% elif install_type == 'source' %}
 {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
 {% set nova_api_packages = [
 'httpd',
 'mod_wsgi'
 ] %}
{{ macros.install_packages(nova_api_packages | customizable("packages")) }}
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf
 {% elif base_distro in ['ubuntu'] %}
 {% set nova_api_packages = [
 'apache2',
 'libapache2-mod-wsgi'
 ] %}
{{ macros.install_packages(nova_api_packages | customizable("packages")) }}
RUN echo > /etc/apache2/ports.conf
 {% endif %}
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_nova_extend_start
RUN chmod 755 /usr/local/bin/kolla_nova_extend_start
{% block nova_api_footer %}{% endblock %}
{% block footer %}{% endblock %}
USER nova
As can be seen, it install some packages depending on the distro, run some commands, create some files, etc. If we did not specify any command when starting the container it will execute extend_start.sh by default
# kolla-build -b centos nova would build all the containers defined on the Dockerfiles inside /usr/share/kolla/docker/nova/ and all subdirectories inside it. 
You will find all the images uploaded on your local docker repository:
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kolla/centos-binary-nova-compute 4.0.5 55023709c67b About an hour ago 1.28 GB
kolla/centos-binary-nova-compute-ironic 4.0.5 59cc78043c2b About an hour ago 1.18 GB
kolla/centos-binary-nova-spicehtml5proxy 4.0.5 10df1071aaca About an hour ago 789 MB
kolla/centos-binary-nova-conductor 4.0.5 d5532a49d604 About an hour ago 748 MB
kolla/centos-binary-nova-consoleauth 4.0.5 88533c8ab99a About an hour ago 748 MB
kolla/centos-binary-nova-ssh 4.0.5 5a86f5a327c8 About an hour ago 768 MB
kolla/centos-binary-nova-api 4.0.5 39f4156fc8c4 About an hour ago 800 MB
kolla/centos-binary-nova-placement-api 4.0.5 dc4e39a874e6 About an hour ago 800 MB
kolla/centos-binary-nova-novncproxy 4.0.5 18bd0170428d About an hour ago 749 MB
kolla/centos-binary-nova-serialproxy 4.0.5 cb2bb0c12872 About an hour ago 748 MB
kolla/centos-binary-nova-scheduler 4.0.5 46cd120b6252 About an hour ago 748 MB
kolla/centos-binary-nova-base 4.0.5 391d42e44988 About an hour ago 725 MB
kolla/centos-binary-nova-libvirt 4.0.5 7f1906b82e3c About an hour ago 988 MB
kolla/centos-binary-openstack-base 4.0.5 f75d096e33a5 About an hour ago 623 MB
kolla/centos-binary-base 4.0.5 8a7f7cab1cc2 About an hour ago 428 MB
For more information here: https://docs.openstack.org/kolla/latest/admin/image-building.html#dockerfile-customisation