最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker-compose環(huán)境變量使用及說明

 更新時間:2026年06月29日 09:51:29   作者:demon7552003  
本文涵蓋了docker-compose.yml文件中環(huán)境變量的使用方法、優(yōu)先優(yōu)先級以及.env文件的作用,強(qiáng)調(diào)了在項(xiàng)目配置中的靈活性和實(shí)用性

介紹

在項(xiàng)目中,往往需要在 docker-compose.yml 文件中使用環(huán)境變量來控制不同的條件和使用場景,docker-compose支持多級設(shè)置環(huán)境變量。

docker-compose.yml 文件中引用的環(huán)境變量,它們的優(yōu)先級如下:

Compose file
Shell environment variables
Environment file
Dockerfile
Variable is not defined

注意:

  • 以上優(yōu)先級順序都是指容器引用變量,不包括互相引用。
  • compose file中只能引用 Shell環(huán)境變量、.env 環(huán)境文件。引用不到Dockerfile中定義的變量,也引用不了env_file設(shè)置的文件中變量。
  • compose file中的變量是不能互相引用的。即設(shè)置一個變量時,引用內(nèi)部的一個變量則結(jié)果是空值。
  • composefile中通過$ 符號引用環(huán)境變量,不支持 ${var:-value},${var:=value},${var:default}等語法。從version:'3' 開始支持 ${var:-value}
  • 很多默認(rèn)值,則可以使用 .env 環(huán)境變量文件解決。
  • docker-compose.yml中引用的變量
  • /etc/profile等變量并不會對容器生效。

查看當(dāng)前配置命令

 docker-compose config

環(huán)境變量的設(shè)置方式

compose file

version: '2'
services:
  data-tag-biz:
    image: 192.168.1.XX/xxxx/data-standard-biz:9.0
    network_mode: "host"
    restart: always
    ports:
      - 10015:9015
    environment:
      - NACOS-HOST=${NACOS_HOST}
      - SW_NAME=test:${SV_NAME}
      - SW_SERVICES=192.168.1.XX:11800
      - TRACK=-javaagent:/opt/skywalking-agent.jar
      - JAVA_OPTS=-Xms512m -Xmx1024m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
    container_name: data-standard-biz-9

shell環(huán)境變量

export SV_NAME=data-standard-biz

環(huán)境變量文件

docker原生命令

docker run --env-file=web-variables.env

docker file中指定

version: '3'
services:
  data-tag-biz:
    env_file:
      - file.env   #相對于docker-compose.yml文件的位置。
    environment:
      - SV_NAME=data-standard-biz
      - NACOS-HOST=${NACOS_HOST}
      - SW_NAME=test:${SV_NAME}
      - SW_SERVICES=192.168.1.XX:11800
      - TRACK=-javaagent:/opt/skywalking-agent.jar
      - JAVA_OPTS=-Xms512m -Xmx1024m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
    container_name: data-standard-biz-9
#file.env
SV_NAME=data-standard-biz-envfile
ENV_VALUE=env-value
NOOP=NO OP KEY

docker-compose config輸出:

services:
  data-tag-biz:
    container_name: data-standard-biz-9
    environment:
      ENV_FILE: ''                              #沒有引用到的變量ENV_VALUE
      ENV_VALUE: env-value                     # 自動加入的
      JAVA_OPTS: -Xms512m -Xmx1024m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
      NACOS-HOST: 192.168.1.XX
      NOOP: NO OP KEY                         #自動加入的。
      SV_NAME: data-standard-biz
      SW_NAME: test:data-standard-biz-env
      SW_SERVICES: 192.168.1.XX:11800
      TRACK: -javaagent:/opt/skywalking-agent.jar
    image: 192.168.1.36/xxxx/data-standard-biz:9.0
    network_mode: host
    ports:
    - 10015:9015/tcp
    restart: always
version: '3.0'

docker-compose文件中的變量是引用不到 環(huán)境文件中定義的變量的。環(huán)境文件中定義的所有變量是僅相對于容器可見的。

環(huán)境變量文件中的所有變量都會自動加到變量列表中,不需要在docker-compose中定義。

.env 文件

在docker-compose.yml同級目錄中加入.env文件,則可以設(shè)置docker-compose環(huán)境變量的默認(rèn)值,可以在docker-compose中引用到的。

此文件可以為大量的變量配置默認(rèn)值,用來代替${var:-defaultvalue}

version: '3'
services:
  data-tag-biz:
    ... ...
    environment:
      - SV_NAME=data-standard-biz
      - NACOS-HOST=${NACOS_HOST}
      - SW_NAME=test:${SV_NAME}  #如果不設(shè)置,則默認(rèn)使用 .env中默認(rèn)值。
... ... 
# .env
SV_NAME=data-standard-biz-env
TEST_ENV=xxxxxxxx

docker-compose config輸出:

services:
  data-tag-biz:
    container_name: data-standard-biz-9
    environment:
      ENV_FILE: ''
      ENV_VALUE: env-value
      JAVA_OPTS: -Xms512m -Xmx1024m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
      NACOS-HOST: 192.168.1.XX
      NOOP: NO OP KEY
      SV_NAME: data-standard-biz
      SW_NAME: test:data-standard-biz-env   #使用了 .env中默認(rèn)值。
      SW_SERVICES: 192.168.1.XX:11800
      TRACK: -javaagent:/opt/skywalking-agent.jar
    image: 192.168.1.XX/xxxx/data-standard-biz:9.0
    network_mode: host
    ports:
    - 10015:9015/tcp
    restart: always
version: '3.0'

Compose CLI 環(huán)境變量

Compose CLI(compose command-line 即 docker-compose 程序)能夠識別名稱為 COMPOSE_PROJECT_NAME 和 COMPOSE_FILE 等環(huán)境變量(具體支持的環(huán)境變量請參考這里)。

通過設(shè)置這些變量可以控制docker-compose的行為。

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker-compose啟動redis多機(jī)集群的實(shí)現(xiàn)(6臺服務(wù)器3主3從)

    docker-compose啟動redis多機(jī)集群的實(shí)現(xiàn)(6臺服務(wù)器3主3從)

    本文主要介紹了docker-compose啟動redis多機(jī)集群的實(shí)現(xiàn)(6臺服務(wù)器3主3從),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • ubuntu系統(tǒng)中無法拉取docker鏡像的問題及解決

    ubuntu系統(tǒng)中無法拉取docker鏡像的問題及解決

    作者遇到的docker拉取mysql8.0鏡像失敗的問題,通過更換鏡像加速器、更新配置、診斷DNS解析問題等步驟,最終成功使用DaoCloud鏡像站拉取鏡像,作者分享了解決問題的過程和經(jīng)驗(yàn),對遇到類似問題的人會有幫助
    2026-04-04
  • Docker部署搭建WebDav服務(wù)的詳細(xì)過程

    Docker部署搭建WebDav服務(wù)的詳細(xì)過程

    這篇文章主要介紹了Docker部署WebDav服務(wù),小編綜合了各種共享方式后最終選擇了使用 WebDav 來共享文件,下面小編把搭建部署過程分享給大家,需要的朋友可以參考下
    2022-08-08
  • 如何在docker中運(yùn)行springboot項(xiàng)目過程圖解

    如何在docker中運(yùn)行springboot項(xiàng)目過程圖解

    這篇文章主要介紹了如何在docker中運(yùn)行springboot項(xiàng)目過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Docker安裝Nginx并部署及MySQL容器構(gòu)建全過程

    Docker安裝Nginx并部署及MySQL容器構(gòu)建全過程

    眾所周知Docker是一種容器化技術(shù),可以用來快速部署和管理應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于Docker安裝Nginx并部署及MySQL容器構(gòu)建的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • docker中通過nginx+confd動態(tài)生成配置的解決方案

    docker中通過nginx+confd動態(tài)生成配置的解決方案

    這篇文章主要介紹了docker:nginx+confd動態(tài)生成配置,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 在Docker中部署Confluence和jira-software的方法步驟

    在Docker中部署Confluence和jira-software的方法步驟

    這篇文章主要介紹了在Docker中部署Confluence和jira-software的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • docker構(gòu)建的鏡像的三種方式小結(jié)

    docker構(gòu)建的鏡像的三種方式小結(jié)

    這篇文章主要為大家詳細(xì)介紹了docker中構(gòu)建的鏡像的三種方式,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2024-04-04
  • Docker?容器健康檢查的指令方式詳解

    Docker?容器健康檢查的指令方式詳解

    這篇文章主要介紹了Docker?容器健康檢查的指令方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 使用Dockerfile部署nodejs服務(wù)的方法步驟

    使用Dockerfile部署nodejs服務(wù)的方法步驟

    這篇文章主要介紹了使用Dockerfile部署nodejs服務(wù)的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論

二连浩特市| 达日县| 正安县| 巢湖市| 崇州市| 义马市| 通州市| 靖远县| 渝北区| 成武县| 宜阳县| 如皋市| 晴隆县| 井冈山市| 汝城县| 砀山县| 延长县| 竹溪县| 永福县| 白城市| 长春市| 天全县| 砀山县| 桓台县| 湟源县| 合山市| 阿克苏市| 广水市| 突泉县| 沈阳市| 台安县| 穆棱市| 利川市| 灌南县| 赤城县| 安溪县| 龙州县| 宁安市| 黄平县| 井冈山市| 双城市|