Я хочу установить переменные окружения из .env-файла в контейнер. Но переменные среды окружения устанавливаются в контейнер вместо файла .env.docker-compose: переменные среды хостов имеют более высокий приоритет, чем файл .env?
Настройка файлов следующим образом.
хост # Ls -la:
docker-compose.yml
Dockerfile
.env
хозяина переменной среды:
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
LANG="en_US.UTF-8"
.env файл:
TZ=Asia/Tokyo
LANG=ja_JP.utf8
ORACLE_URL=http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.rpm
ORACLE_VERSION=8u112
JAVA_HOME=/usr/java/jdk1.8.0_112/jre
докер-compose.yml:
version: '2'
services:
oracle8:
build:
context: ./
args:
ORACLE_URL: ${ORACLE_URL}
ORACLE_VERSION: ${ORACLE_VERSION}
environment:
- TZ=$TZ
- LANG=$LANG
- JAVA_HOME=$JAVA_HOME
image: oracle8
privileged: true
tty: true
container_name: oracle8
hostname: oracle8
Dockerfile:
FROM centos:latest
ARG ORACLE_URL
ARG ORACLE_VERSION
ARG JAVA_HOME
ENV JAVA_HOME ${JAVA_HOME}
RUN set -x \
&& yum update -y \
&& yum install -y wget tar \
&& yum clean all \
&& wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" ${ORACLE_URL} \
&& rpm -ivh jdk-"${ORACLE_VERSION}"-linux-x64.rpm \
&& rm -f jdk-"${ORACLE_VERSION}"-x64.rpm \
&& echo ${JAVA_HOME}
CMD ["tail", "-f", "/dev/null"]
, а затем, докер-Compose строить & до
host # docker-compose build
host # docker-compose up -d
host # docker exec -it oracle8 bash
oracle8 # export
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
LANG="en_US.UTF-8"
TZ="Asia/Tokyo"
$ TZ устанавливается из .env файла, потому что хозяин не установлен $ TZ. $ LANG и $ JAVA_HOME не установлены «ja_JP.utf8» и «/usr/java/jdk1.8.0_112» файла .env, но «en_US.UTF-8» и «/ usr/lib/jvm/java-8 -oracle/jre "установлены переменные среды хоста.
Если я пишу его прямо в файле docker-compose.yml, все в порядке. , но я хочу обработать его в файле .env.
Благодарим вас за советы. Я пересмотрел его, как вы сказали. –
Waht о приоритете в целом? shell, compose file, .env, env_file, '' '-e''' параметр – lrkwz