Русская языковая локаль в docker-контейнере с Alpine

К сожалению, система локали в musl libc неполная. В Alpine нет инструментов для генерации локалей или настройки переменной MUSL_LOCPATH. По этой причине приходится искать варианты. Один из них предлагает проект локализации musl libc под названием rilian-la-te. На данный момент поддерживается 7 локалей, в том числе: ch_DE, de_CH, de_DE, en_GB, en_US, fr_FR и ru_RU.

Установить русскую языковую локаль в docker-контейнере можно следующим образом:

ENV MUSL_LOCPATH=/usr/local/share/i18n/locales/musl
RUN apk add --update git cmake make musl-dev gcc gettext-dev libintl
RUN cd /tmp && git clone https://github.com/rilian-la-te/musl-locales.git
RUN cd /tmp/musl-locales && cmake . && make && make install

ENV LANG=ru_RU.UTF-8 \
    LANGUAGE=ru_RU.UTF-8

Проверить доступные локали можно командой:

/usr/local/bin/locale -a