/bin/bash:警告:setlocale:LC_ALL:无法更改区域设置(en_US.UTF-8)

问题描述 投票:0回答:2

我收到标题中的错误,但我不知道为什么。我正在尝试在 Unraid 中运行 docker 容器。如果有人想批评的话,dockerfile 代码在下面。

ENV DEBIAN_FRONTEND=noninteractive \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=en_US.UTF-8 \
TERM=xterm \
TZ=:/etc/localtime \
PATH=$PATH:/usr/local/go/bin \
GOBIN=/go/bin \
APP=/go/src/smugmug-backup

RUN sed -e "/deb-src/d" -i /etc/apt/sources.list \
&& apt-get update \
&& apt-get install --no-install-recommends --yes \
    ca-certificates \
&& apt-get clean \
&& rm -rf /.root/cache \
&& rm -rf /var/lib/apt/lists/*
dockerfile
2个回答
30
投票
$ sudo apt install locales
$ sudo locale-gen en_US.UTF-8
$ sudo dpkg-reconfigure locales

在最后一步中,您将看到基于文本的 UI,通过使用向上和向下箭头移动并通过空格键选择或键入其 ID(即 159)来选择

en_US.UTF-8


0
投票

不幸的是,带有

dpkg-reconfigure
的 anwser 不适用于 Docker 镜像,因为它在构建 docker 镜像时无法交互。

在我这边,我发现在 Dockerfile 的 RUN 命令中添加以下行可以解决 bash 警告:

RUN apt-get install -y language-pack-en-base

之后执行命令:

docker exec -it my-docker-image /bin/bash

不再给出有关 LC_ALL 变量的警告。

© www.soinside.com 2019 - 2024. All rights reserved.