私はこのDockerfileを持っている:Dockerビルドでenv変数が正しく設定されていませんか?
FROM ubuntu:latest
RUN apt-get update && apt-get install -y \
curl \
python3-dev \
python3-setuptools \
python3-pip
RUN rm -rf /var/lib/apt/lists/* && \
apt-get clean
ADD . /usr/src/index-server
WORKDIR /usr/src/index-server
RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt
EXPOSE 8000
ENV LC_CTYPE=C.UTF-8
ENV FLASK_APP=app_server.py
CMD /usr/local/bin/flask run --host=0.0.0.0
それは罰金構築します。しかし、私はそれを実行しようとすると、私は誤ってロケールの値を設定するために追跡したPythonのエラーに遭遇します。私のホストマシンlocale | grep -E 'LC_ALL|LC_CTYPE|LANG'
リターンに
:
LANG="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_ALL=
しかし、私はドッキングウィンドウのインスタンス(docker run -t 657c402ec253 locale | grep -E 'LC_ALL|LC_CTYPE|LANG'
)と同じことをしようとしたとき、私はこの取得:私はにドッキングウィンドウの-e
フラグを使用する場合は
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_ALL=
をenv変数を設定すると、正常に動作します。
$ docker run -e LC_CTYPE=C.UTF-8 -t 657c402ec253 locale | grep -E 'LC_ALL|LC_CTYPE|LANG'
LANG=
LANGUAGE=
LC_CTYPE=C.UTF-8
LC_ALL=
何が起こっているのですか?