kolla/docker/mariadb/Dockerfile.j2

75 lines
2.2 KiB
Django/Jinja

FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% block mariadb_header %}{% endblock %}
{% import "macros.j2" as macros with context %}
{{ macros.configure_user(name='mysql') }}
{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
{% set mariadb_packages = [
'expect',
'galera',
'hostname',
'percona-xtrabackup',
'pv',
'rsync',
'socat',
'tar'
] %}
# On x86-64 packages from external repos are used. lowercase names goes
# conflicts and build fails. Other architectures use standard CentOS
# packages.
{% if base_arch == 'x86_64' %}
{% set mariadb_packages = mariadb_packages + [
'MariaDB-client',
'MariaDB-Galera-server'
] %}
{% else %}
{% set mariadb_packages = mariadb_packages + [
'mariadb',
'mariadb-galera-server'
] %}
{% endif %}
{% elif base_distro in ['debian', 'ubuntu'] %}
{% set mariadb_packages = [
'expect',
'socat'
] %}
{% if base_distro == 'debian' %}
{% set mariadb_packages = mariadb_packages + [
'mariadb-server'
] %}
{% else %}
{% if base_arch == 'aarch64' %}
{% set mariadb_packages = mariadb_packages + [
'mariadb-server',
'percona-xtrabackup'
] %}
{% else %}
{% set mariadb_packages = mariadb_packages + [
'mariadb-galera-server',
'percona-xtrabackup'
] %}
{% endif %}
{% endif %}
{% endif %}
{{ macros.install_packages(mariadb_packages | customizable("packages")) }}
COPY mariadb_sudoers /etc/sudoers.d/kolla_mariadb_sudoers
COPY extend_start.sh /usr/local/bin/kolla_extend_start
COPY security_reset.expect /usr/local/bin/kolla_security_reset
RUN chmod 755 /usr/local/bin/kolla_extend_start \
&& chmod 755 /usr/local/bin/kolla_security_reset \
&& chmod 750 /etc/sudoers.d \
&& chmod 440 /etc/sudoers.d/kolla_mariadb_sudoers \
&& rm -rf /var/lib/mysql/*
{% block mariadb_footer %}{% endblock %}
{% block footer %}{% endblock %}
USER mysql