From fb4cb9efda5a522ba0d837047385b61275d09150 Mon Sep 17 00:00:00 2001 From: Rabi Mishra Date: Fri, 29 Mar 2019 07:45:19 +0530 Subject: Add config option use_dumb_init to add it to container images Usage of dumb-init can also be disabled from cli with `--nouse-dumb-init` when building images. Also moves ENTRYPOINT outside of dumb_init_installation block. Change-Id: Id32d54fc9913b83cf121ede5a5e265e0772062ae Related-Bug: #1821970 --- docker/base/Dockerfile.j2 | 6 ++++-- docker/mariadb/Dockerfile.j2 | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'docker') diff --git a/docker/base/Dockerfile.j2 b/docker/base/Dockerfile.j2 index 18212f0bb..29235254c 100644 --- a/docker/base/Dockerfile.j2 +++ b/docker/base/Dockerfile.j2 @@ -404,8 +404,9 @@ COPY start.sh /usr/local/bin/kolla_start COPY sudoers /etc/sudoers COPY curlrc /root/.curlrc -{% block dumb_init_installation %} +{% if use_dumb_init %} +{% block dumb_init_installation %} {% if base_arch == 'x86_64' %} RUN curl -sSL https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_{{debian_arch}} -o /usr/local/bin/dumb-init \ @@ -425,10 +426,11 @@ RUN curl -sSL http://deb.debian.org/debian/pool/main/d/dumb-init/{{dumb_init_pac && rm data.tar.xz {{dumb_init_package_name}} {% endif %} +{% endblock %} ENTRYPOINT ["dumb-init", "--single-child", "--"] -{% endblock %} +{% endif %} RUN touch /usr/local/bin/kolla_extend_start \ && chmod 755 /usr/local/bin/kolla_start /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_set_configs \ diff --git a/docker/mariadb/Dockerfile.j2 b/docker/mariadb/Dockerfile.j2 index cc7b27194..4e2f57f48 100644 --- a/docker/mariadb/Dockerfile.j2 +++ b/docker/mariadb/Dockerfile.j2 @@ -52,15 +52,18 @@ RUN chmod 755 /usr/local/bin/kolla_extend_start \ RUN mkdir -p /var/run/mysqld && chown mysql /var/run/mysqld && chmod 755 /var/run/mysqld {% endif %} +{% if use_dumb_init %} {% block mariadb_entrypoint %} # NOTE(mgoddard): Override the dumb-init arguments to avoid passing # --single-child. This does not play well with mysqld_safe, which ignores # SIGTERM, meaning Docker needs to forcibly kill the container to stop it. # Without --single-child, the TERM signal is sent to all subprocesses, # including mysqld. -ENTRYPOINT ["dumb-init"] + +ENTRYPOINT ["dumb-init", "--"] CMD ["kolla_start"] {% endblock %} +{% endif %} {% block mariadb_footer %}{% endblock %} {% block footer %}{% endblock %} -- cgit v1.2.3