cartridge-cli icon indicating copy to clipboard operation
cartridge-cli copied to clipboard

Add coredump config to cartridge pack docker

Open dj-kostya opened this issue 2 years ago • 1 comments

Предлагаю добавить опцию при сборке docker контейнера, которая включит сборку coredump в отдельный volume.

Для создания coredump внутри docker контейнера, необходимо:

  • Установленный GDB, для работы https://github.com/tarantool/tarantool/blob/master/tools/tarabrt.sh
  • ulimit -c unlimited
  • sysctl -w kernel.core_pattern="/tmp/coredumps/core.%e.%p" # Путь можно поменять

Текущие наработки:

New dockerfile

FROM <base_cartridge_img_based_in_centos>

USER root
COPY ./coredump_entrypoint.sh /tmp/coredump_entrypoint.sh
RUN yum install -y gdb
RUN chmod +x /tmp/coredump_entrypoint.sh
ENTRYPOINT ["/bin/sh","/tmp/coredump_entrypoint.sh"]

CMD <CMD_FROM_base_cartridge_img_based_in_centos>

coredump_entrypoint.sh:

#!/bin/sh

ulimit -c unlimited
sysctl -w kernel.core_pattern="/tmp/coredumps/core.%e.%p"

exec "$@"

Важно! Контейнер необходимо запускать с privileged: true

dj-kostya avatar May 25 '22 11:05 dj-kostya