Внутри контейнера надо отдельно сгенерировать эту локаль:
localedef -i ru_RU -f IBM866 ru_RU.IBM866
(тут локаль будет названа ru_RU.IBM866, но можно назвать как угодно, в том числе ru_RU.CP866
upd: лучше так не делать и оставить имя с названием кодировки по умолчанию, см. комментарии).
Рецепт работает в любом Linux, но в минималистичных образах обычно много чего вырезают для уменьшения размера, поэтому каталог /usr/share/i18n пустой или значительно подчищен. В случае с opensuse нужно доустановить пакет glibc-i18ndata.
Образец Dockerfile:
FROM opensuse/tumbleweed
RUN zypper in -y glibc-i18ndata && localedef -i ru_RU -f IBM866 ru_RU.IBM866
ENV LC_ALL=ru_RU.IBM866