Use dumb-init to manage the pid 1 process
Normally, when you launch a Docker container, the process you're executing becomes PID 1, giving it the quirks and responsibilities that come with being the init system for the container. There are two common issues this presents: * In most cases, signals won't be handled properly. * Orphaned zombie processes aren't properly reaped. the dumb-init acting like a simple init system. It launches a single process and then proxies all received signals to a session rooted at that child process. Closes-Bug: #1614509 Change-Id: I9d3d04648e151ddc7c6732b92ffd3b6c9fe467ec
This commit is contained in:
parent
755d5172b3
commit
6710bbeb7c
@ -262,6 +262,8 @@ 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 \
|
||||
&& chmod 440 /etc/sudoers \
|
||||
&& groupadd kolla \
|
||||
&& rm -f /tmp/kolla_bashrc
|
||||
&& rm -f /tmp/kolla_bashrc \
|
||||
&& curl -sSL https://github.com/Yelp/dumb-init/releases/download/v1.1.3/dumb-init_1.1.3_amd64 -o /usr/local/bin/dumb-init \
|
||||
&& chmod +x /usr/local/bin/dumb-init
|
||||
|
||||
CMD ["kolla_start"]
|
||||
|
@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/local/bin/dumb-init /bin/bash
|
||||
set -o errexit
|
||||
|
||||
# Wait for the log socket
|
||||
|
@ -66,7 +66,7 @@ COPY ansible.cfg /home/ansible/.ansible.cfg
|
||||
COPY ansible_sudoers /etc/sudoers.d/ansible_sudoers
|
||||
RUN chmod 440 /etc/sudoers.d/ansible_sudoers
|
||||
|
||||
CMD ["/bin/sleep", "infinity"]
|
||||
CMD ["/usr/local/bin/dumb-init", "/bin/sleep", "infinity"]
|
||||
|
||||
{% block kolla_toolbox_footer %}{% endblock %}
|
||||
{% block footer %}{% endblock %}
|
||||
|
@ -0,0 +1,3 @@
|
||||
---
|
||||
features:
|
||||
- use dumb-init to manage the pid 1 process
|
Loading…
Reference in New Issue
Block a user