2015-01-13 10 views
8

के साथ डॉकर (पायथन, जावा, रूबी, ...) में ऐप चलाने पर एन्कोडिंग समस्याएं अपने पीसी पर एप्लिकेशन अच्छा चल रहा है, लेकिन जब इसे डॉकर में तैनात किया जाता है, तो यह अमान्य वर्णों के कारण विफल रहता है।उबंटू कंटेनर (एसीआईआई, यूटीएफ -8)

मैं ubuntu:lastest कंटेनर और python3, java और ruby का उपयोग कर रहा हूं।

उत्तर

17

आपको लोकेल सही सेट करने की आवश्यकता है।

यह कम से कम सही 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 

सामान्य डोकर छवियों को एक स्थान निर्दिष्ट नहीं करते। तुम इसे देख अगर आप इसे में पार्टी की योजना बनाई और locale निष्पादित करें:

sudo docker exec -i -t yowsup3 bash 

सूत्रों का कहना है:

+0

कुछ मामलों में चल रहा है 'स्थान-gen' और सेटिंग' LC_ALL पर्याप्त है –

+0

1. आप "नवीनतम" को छोड़ सकते हैं क्योंकि यह [डिफ़ॉल्ट टैग] है (https://docs.docker.com/engine/reference/commandline/pull/#pull-an-image-from-docker-hub) 2. उबंटू कंटेनर में लोकल पैकेज अनुपलब्ध है जिसमें 'लोकेल-जीन' कमांड शामिल है, इसलिए दूसरी पंक्ति होनी चाहिए: 'रन अप अपडेट करें और apt -y लोकेशन इंस्टॉल करें' – Murmel

संबंधित मुद्दे