Используйте tini для решения этой проблемы с сигналом и процессом зомби.
FROM alpine:edge
RUN set -ex \
&& apk add --no-cache mariadb mariadb-client tini \
&& mkdir -p /run/mysqld \
&& chown -R mysql:mysql /run/mysqld \
&& ln -snf /usr/lib/mariadb /usr/lib/mysql \
&& mysql_install_db --user=mysql --skip-name-resolve --auth-root-authentication-method=socket --auth-root-socket-user=root --force --rpm --skip-test-db
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 3306
CMD ["mysqld"]
entrypoint.sh
if [ ! -p "/tmp/mysqld.init" ]; then
mkfifo /tmp/mysqld.init
fi
{
echo "CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';"
echo "CREATE DATABASE IF NOT EXISTS ${MYSQL_DATABASE};"
echo "GRANT ALL ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%';"
} > /tmp/mysqld.init &
exec tini -g -- "$@" --init-file="/tmp/mysqld.init"
C-u M-. циклически повторяют все местоположения того же тега, но если Вы хотите видеть список всех тегов, которые соответствуют Вашему имени функции, можно использовать теги кстати команды.
Если Ваш язык программирования является C затем cscope, намного лучше, чем завершающие теги. Это дарит Вам интерактивный список символа экземпляры с его контекстом. Больше информации находится в этом ответе