сценарий оболочки не использует набор локалей

280
Karl Morrison

У меня есть изображение, которое построено:

FROM debian:stretch  # Set Bash as default shell RUN rm /bin/sh && \ ln --symbolic /bin/bash /bin/sh  # apt-get RUN apt-get update && \ apt-get install -y \ # Install SSH openssh-client \ openssh-server \ openssl \ # Install cURL curl \ # Install git git \ # Install Python python3 \ python-dev \ python3-pip \ # Build stuff build-essential \ libssl-dev \ libffi-dev \ apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common  # Install locales RUN apt-get install -y locales && \ # Uncomment en_US.UTF-8 locales in /etc/locale.gen file sed --in-place '/en_US.UTF-8/s/^# //' /etc/locale.gen && \ # Generate new locales from /etc/locale.gen file locale-gen && \ # Set system locale (add line) for login shells echo "export LANG=en_US.UTF-8" >> /etc/profile && \ # Set system timezone (add line) for login shells echo "export TZ=UTC" >> /etc/profile && \ # If the user will not change, we must source source /etc/profile  # Install Docker # Add Docker’s official GPG key RUN curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | apt-key add - && \ # Set up the stable repository add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) \ stable" && \ # Update package index apt-get update && \ # Install Docker CE apt-get install -y docker-ce  # pip RUN pip3 install \ # Install Docker Compose docker-compose 

На этом изображении я установил utf8, как вы видите. Построенное здесь изображение затем используется для запуска docker-compose, в котором я хотел бы запустить два контейнера (каждый со своим собственным изображением).

Вот часть моего файла docker compose docker-compose.yml:

entrypoint: ["./wait-for-vertica.sh", "-t", "30", "vertica:5433", "--", "npm", "run", "test", "--", "--sort", "unit.test.js"] 

Когда скрипт ./wait-for-vertica.shзапускается (через docker-composeмой образ выше), он не использует правильную локаль (utf8), которую я установил в образе. Локаль, используемая в скрипте, все еще POSIX.

Я не совсем понимаю, что я делаю неправильно. Как установить локали, которые при запуске ./wait-for-vertica.shбудут применяться к нему.

0
Возможно ли, что ваши команды запуска в вашем файле dockerfile останавливаются после первой строки комментария ?? Например. Ваш второй RUN останавливается на "# Установить SSH". Просто спрашиваю. Gerard H. Pille 6 лет назад 0

0 ответов на вопрос

Похожие вопросы