Encoding Problems when running an app in docker (Python, Java, Ruby, …) with Ubuntu Containers (ascii, utf-8)

后端 未结 3 811
慢半拍i
慢半拍i 2020-12-29 05:19

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 con

相关标签:
3条回答
  • 2020-12-29 05:36

    I tried the above solution and found that the locale-gen command is not available inside my docker.

    so add this line above the RUN command or add it in.

    RUN apt-get update && apt-get install -y locales && locale-gen en_US.UTF-8
    

    this will now work.

    and second ENV LC_ALL en_US.UTF-8 is enough to set most of the variable but it left with the two vacant so that's why we need all 3 to set.

    0 讨论(0)
  • 2020-12-29 05:53

    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
    0 讨论(0)
  • 2020-12-29 05:59
    FROM centos:7 
    
    ***ENV LANG=en_US.UTF-8***
    

    Adding the above one line in docker file worked for me

    0 讨论(0)
提交回复
热议问题