cartridge-cli
cartridge-cli copied to clipboard
Add coredump config to cartridge pack docker
Предлагаю добавить опцию при сборке 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