นักเทียบท่า ubuntu / bin / sh: 1: locale-gen: not found


101

ฉันใส่รหัสการตั้งค่าโลแคลด้านล่างลงใน Dockerfile ของฉัน

FROM node:4-onbuild

# Set the locale
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

แต่มันทำให้ฉันมีข้อผิดพลาด

/bin/sh: 1: locale-gen: not found
The command '/bin/sh -c locale-gen en_US.UTF-8' returned a non-zero code: 127

มีความคิดอย่างไร


13
บางทีคุณอาจต้องติดตั้งlocalesโดยใช้sudo apt-get -y install locales?
edwinksl

คำตอบ:


199

ขอบคุณสำหรับความคิดเห็นของคุณ edwinksl ฉันอัปเดต dockerfile ของฉันด้านล่างซึ่งแก้ไขข้อผิดพลาด locale-gen:

FROM node:4-onbuild

# Set the locale
RUN apt-get clean && apt-get update && apt-get install -y locales
RUN locale-gen en_US.UTF-8

29
เพื่อประสิทธิภาพคุณจะต้องหลีกเลี่ยงRUNคำสั่งหลาย ๆข้อความโดยเฉพาะอย่างยิ่งเมื่อมีความเกี่ยวข้องกันอย่างใกล้ชิด สิ่งที่ต้องการRUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8จะสร้างเลเยอร์เดียวแทนที่จะเป็นสามชั้น
tripleee

8
อาจupdate-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8จะมีประโยชน์askubuntu.com/a/505424/196423
koppor

1
เพื่อรักษาสติของคุณคุณจะต้องหลีกเลี่ยงการซ่อนคำสั่งทั้งหมดไว้ด้วยกันใน RUN เดียว
mihai

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.