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

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