私のPCではアプリケーションはニースで実行されますが、Dockerにデプロイされると、無効な文字が原因で失敗します。
ubuntu:lastest
コンテナとpython3
、Java
とRuby
を使用しています。
localeを正しく設定する必要があります。
これは、最小限の正しいDockerfileです。
FROM ubuntu:latest
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
通常のDockerイメージはロケールを指定しません。それにバッシュしてlocale
を実行すると表示されます:
Sudo docker exec -i -t yowsup3 bash
出典:
上記の解決策を試したところ、docker内でlocale-genコマンドを使用できないことがわかりました。
したがって、この行をRUNコマンドの上に追加するか、追加します。
RUN apt-get update && apt-get install -y locales && locale-gen en_US.UTF-8
これでうまくいきます。
そして、2番目のENV LC_ALL en_US.UTF-8でほとんどの変数を設定できますが、2つが空いているため、3つすべてを設定する必要があります。