У меня есть изображение, которое построено:
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
будут применяться к нему.