I'm trying to build a Docker image based on oracle/database:11.2.0.2-xe
(which is based on Oracle Linux based on RHEL) and want to change the system locale in this image (using some RUN
command inside a Dockerfile
).
According to this guide I should use localectl set-locale <MYLOCALE>
but this command is failing with Failed to create bus connection: No such file or directory
message. This is a known Docker issue for commands that require SystemD to be launched.
I tried to start the SystemD anyway (using /usr/sbin/init
as first process as well as using -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /run
thanks to this help) but then the localectl set-locale
failed with Could not get properties: Connection timed out
message.
So I'm now trying to avoid the usage of localectl
to change my system globale locale, how could I do this?
microdnf install glibc-langpack-ru
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
echo "LANG=ru_RU.UTF-8" > /etc/locale.conf
for Russian (русской) locale atopenjdk:11.0.11-oracle
docker containerexport LANG=ru_RU.UTF-8
ORENV LANG ru_RU.UTF-8
toDockerfile
– Jolee