gdal-bin
다음 Dockerfile에서 Debian 불안정 패키지를 업데이트하려고 합니다.
FROM postgis/postgis:15-master
RUN echo 'deb http://deb.debian.org/debian testing main' >> /etc/apt/sources.list \
&& apt-get -y update \
&& DEBIAN_FRONTEND=noninteractive \
apt-get -y install \
--fix-missing \
--no-install-recommends gdal-bin \
&& apt-get -y autoremove --purge
그러나 이 경우 apt-get autoremove
로캘이 엉망이 됩니다(이 이미지에서 컨테이너를 시작하려고 하면 데이터베이스 초기화가 중단됩니다).
(...)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
libaom0* libdav1d4* libgeos-3.9.0* libx265-192*
0 upgraded, 0 newly installed, 4 to remove and 134 not upgraded.
After this operation, 24.3 MB disk space will be freed.
Do you want to continue? [Y/n] y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_US.utf8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
문제는 무엇입니까? 어떻게 해결할 수 있나요?
다음은 몇 가지 유용한 링크입니다:
- https://mastizada.com/blog/how-to-solve-locale-problem-in-linux-powered-servers/
- https://serverfault.com/questions/362903/how-do-you-set-a-locale-non-interactively-on-debian-ubuntu/689947#689947
- https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
- http://jaredmarkell.com/docker-and-locales/
답변1
이 경고(오류 아님) en_US.UTF-8
는 시스템에 아직 구성되지 않았음을 의미하며 Perl 스크립트가 실행될 때 Perl이 경고를 발행합니다.
Dockerfile에 다음을 추가해 보세요.
RUN /sbin/locale-gen
에 나열된 모든 로케일에 필요한 파일을 생성합니다 /etc/locale.gen
.