Encoding Problems when running an app in docker (P

2019-02-06 10:43发布

问题:

On my own PC the application runs nice, but when it gets deployed into docker, it fails because of invalid characters.

I am using the ubuntu:lastest container and python3, java and ruby.

回答1:

You need to set the locale correct.

This is the minimal correct 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

The usual docker images don't specify a locales. You see it if you bash into it and execute locale:

sudo docker exec -i -t yowsup3 bash

Sources:

  • http://jaredmarkell.com/docker-and-locales/
  • https://github.com/docker-library/python/issues/13