docker-compose 環(huán)境變量問(wèn)題

每次部署必需要修改的配置從交付件里獨(dú)立出來(lái)乾蛤,通過(guò)docker-compose傳變量覆蓋原有配置,記錄下, 以備查閱

[root@test03 test]# cat docker-compose.yml 
version: '2'
services:
  mysql:
    image: test_db:v1
    container_name: xx-mysql
    restart: always
    networks:
      - nets
    environment:
      - MYSQL_ROOT_PASSWORD=xxx0209
    ports:
      - 3306:3306
    volumes:
      - /opt/data/mysql:/var/lib/mysql:z
  redis:
    image: test_redis:v1
    container_name: xx-redis
    restart: always
    networks:
      - nets
    ports:
      - 6379:6379
  admin:
    image: test_admin:v1
    container_name: xx-admin
    restart: always
    # 使用nets網(wǎng)絡(luò)
    networks:
      - nets
    env_file:
      - ./.env
    environment:
      # 引用環(huán)境變量,最終是傳入容器里交付件的啟動(dòng)命令中
      # 例 java -jar -Djava.security.egd=file:/dev/./urandom -Duser.timezone=GMT+08 -Xmx1433m -Dglobal.domain.inter=http://10.90.2.103:8080 ./app.jar
      - JAVA_OPTS=-Duser.timezone=GMT+08 ${Xmx} -D${inter}
    depends_on:
      - mysql
      - redis
    ports:
      - ${pub_port}:8015
# 創(chuàng)建自定義網(wǎng)絡(luò)
networks:
  nets:
    external: false

  • 容器間應(yīng)用交互使用container_name定義的名稱
    Xmx,inter,pub_port是我用到的環(huán)境變量站绪,通過(guò)查閱文檔,變量可以定義到一個(gè)文件中,如定義到.env中,如下:
[root@test03 test]# cat .env 
# memory
Xmx=-Xmx1433m
# open ports
pub_port=8080
# inter 
inter=global.domain.inter=http://10.90.2.103:8080

注意: env_file和environment中定義的環(huán)境變量是傳給container用的而不是在docker-compose.yml中的環(huán)境變量用的
docker-compose.yml中的環(huán)境變量${VARIABLE:-default}引用的是在.env中定義的或者同個(gè)shell export出來(lái)的

可以通過(guò)命令查看變量已經(jīng)被引用了

[root@test03 test]# docker-compose config
...
    environment:
      JAVA_OPTS: -Duser.timezone=GMT+08 -Xmx1433m -Dglobal.domain.inter=http://10.90.2.103:8080
...
  • 建議env_file 引入的文件名為.env,最好不要使用其他名稱
  1. 優(yōu)點(diǎn): .env文件變更會(huì)實(shí)時(shí)更新docker-compose中的引用抓半,使用其他名稱不會(huì)實(shí)時(shí)更新docker-compose中的引用,使用其他名稱在docker-compose中引用有時(shí)會(huì)WARNING: The DB_DIR variable is not set. Defaulting to a blank string.
  2. 缺點(diǎn): 自定義名稱不方便
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末玻淑,一起剝皮案震驚了整個(gè)濱河市箩绍,隨后出現(xiàn)的幾起案子憔辫,更是在濱河造成了極大的恐慌忿偷,老刑警劉巖金顿,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鲤桥,居然都是意外死亡揍拆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門茶凳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嫂拴,“玉大人,你說(shuō)我怎么就攤上這事贮喧⊥埠荩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵箱沦,是天一觀的道長(zhǎng)辩恼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)谓形,這世上最難降的妖魔是什么运挫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮套耕,結(jié)果婚禮上谁帕,老公的妹妹穿的比我還像新娘。我一直安慰自己冯袍,他們只是感情好匈挖,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般本涕。 火紅的嫁衣襯著肌膚如雪枢冤。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天择膝,我揣著相機(jī)與錄音,去河邊找鬼检激。 笑死肴捉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叔收。 我是一名探鬼主播齿穗,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼饺律!你這毒婦竟也來(lái)了窃页?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脖卖,沒(méi)想到半個(gè)月后乒省,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡畦木,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年袖扛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片馋劈。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡攻锰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出妓雾,到底是詐尸還是另有隱情娶吞,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布械姻,位于F島的核電站妒蛇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏楷拳。R本人自食惡果不足惜绣夺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望欢揖。 院中可真熱鬧陶耍,春花似錦、人聲如沸她混。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坤按。三九已至毯欣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間臭脓,已是汗流浹背酗钞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留来累,地道東北人砚作。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像佃扼,于是被迫代替她去往敵國(guó)和親偎巢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理兼耀,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • 《Docker從入門到實(shí)踐》閱讀筆記 原書(shū)地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo閱讀 11,352評(píng)論 1 39
  • Docker-Compose簡(jiǎn)介安裝使用 [TOC] 1 簡(jiǎn)介 Github源碼官方文檔和示例 Compose i...
    小小少年Boy閱讀 16,564評(píng)論 0 6
  • 我一直在心里有一個(gè)夢(mèng)想瘤运,那就是真正的擁有一塊屬于自己的地窍霞,用它來(lái)種什么,茄子拯坟,黃瓜但金,西紅柿,南瓜郁季,絲瓜冷溃,辣子,黃瓜...
    一葉紫閱讀 396評(píng)論 0 0
  • #學(xué)新詞 *videotape* Before the show, Rodrick asked me to vid...
    飛鳥(niǎo)逐溪閱讀 265評(píng)論 0 0