21. 环境变量 docker-compose -> docker-compose.yml -> Dockerfile -> *.jar

源码:https://github.com/guaguaerhao/docker-env-demo

1. 环境变量 docker-compose -> docker-compose.yml

1.1 在 docker-compose 中,添加环境变量

VAR1=local docker-compose up --build

1.2 在 docker-compose.yml 中接受变量

# docker-compose.yml
version: '3.0'
services:
  img:
    container_name: img1
    build:
      context: .
    environment:
      VAR1: ${VAR1}

1.3 测试 docker-compose.yml 配置

VAR1=local docker-compose config

1.4 将会看到如下信息

services:
  img:
    build:
      context: 你自己的当前目录
    environment:
      VAR1: local
version: '3.0'

2. 环境变量 docker-compose.yml -> Dockerfile -> .jar

2.1 在 Dockerfile 中接受 docker-compose.yml 变量

FROM openjdk:8-jre

# 挂载目录
VOLUME /home/intelligent-posture
# 创建目录
RUN mkdir -p /home/intelligent-posture
# 指定路径
WORKDIR /home/intelligent-posture
# 复制jar文件到路径
COPY ./demo.jar /home/intelligent-posture/demo.jar

# 默认值
#ARG VAR1=prod
ENV VAR1 ${VAR1}

RUN echo ${VAR1}

ENTRYPOINT ["java","-Dspring.profiles.active=${VAR1}","-jar", "demo.jar"]

从上方可以看出 VAR1 变量贯穿所有流程。

posted @ 2022-03-03 16:31  呱呱二号  阅读(217)  评论(0编辑  收藏  举报