Это старая версия документа!
Решение проблемы к кракозябрами русской кодировки
При старте контейнера без русской локали при попытке печатать русскимии буквами, получаются кракозябры.
Решение проблемы для debian-образов на примере `php:7.4-fpm`:
docker run -it --rm php:7.4-fpm bash apt update && apt install -y locales && sed -i '/ru_RU.UTF-8/s/^# //g' /etc/locale.gen && locale-gen export LANG=ru_RU.UTF-8 && export LANGUAGE=ru_RU:UTF-8 && export LC_ALL=ru_RU.UTF-8 echo "Привет" bash echo "Привет"
Вот что происходит:
1. ставится локаль ru_RU 2. назначается окружение 3. для применения изменений, нужно еще раз зайти в оболочку
Конечно, если собирать образ, в окружении уже будет все необходимое:
- Dockerfile
FROM php:7.4-fpm RUN apt update && apt install -y locales && sed -i '/ru_RU.UTF-8/s/^# //g' /etc/locale.gen && locale-gen ENV LANG=ru_RU.UTF-8 ENV LANGUAGE=ru_RU:UTF-8 ENV LC_ALL=ru_RU.UTF-8