docker ubuntu / bin / sh: 1: locale-gen: không tìm thấy


96

Tôi đặt các mã cài đặt ngôn ngữ bên dưới vào tệp dockerfile của mình,

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

nhưng nó cho tôi lỗi

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

bất kỳ ý tưởng?


13
Có thể bạn phải cài đặt localesbằng cách sử dụng sudo apt-get -y install locales?
edwinksl

Câu trả lời:


189

Cảm ơn bình luận của bạn, edwinksl . Tôi đã cập nhật tệp dockerfile của mình bên dưới để giải quyết lỗi 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

26
Để hiệu quả, bạn sẽ muốn tránh nhiều RUNcâu lệnh, đặc biệt khi chúng có liên quan chặt chẽ với nhau như thế này. Một cái gì đó giống như RUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8sẽ tạo một lớp duy nhất thay vì ba.
tripleee

8
Có thể update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8cũng hữu ích askubuntu.com/a/505424/196423
koppor

Để giữ cho sự tỉnh táo của mình, bạn sẽ muốn tránh lưu trữ tất cả các lệnh của mình lại với nhau trong một lần RUN
mihai
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.