我想将 .env 文件中的环境变量设置到容器中。但主机环境变量设置为容器而不是 .env 文件。
设置文件如下。
主机# ls -la:
docker-compose.yml
Dockerfile
.env
Run Code Online (Sandbox Code Playgroud)
主机环境变量:
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
LANG="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
.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
Run Code Online (Sandbox Code Playgroud)
docker-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
Run Code Online (Sandbox Code Playgroud)
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 \ …Run Code Online (Sandbox Code Playgroud)