Docker Compose中使用引用和錨點(diǎn)

有的時(shí)候Docker Compose中會(huì)有重復(fù)內(nèi)容,本著DRY的精神(能少敲一下就少敲一下),可以使用錨點(diǎn)和引用-alias and anchors

version: "3.7"

x-app: &default-app
  build:
    context: "."
    dockerfile: Dockerfile-APP
  depends_on:
    - "postgres"
    - "redis"
  image: "webapp:tag"
  restart: "unless-stopped"
  volumes:
    - ".:/app"

services:
  webA:
    <<: *default-app 
    ports:
      - "8000:8000"

  webB:
    <<: *default-app
    restart: "always"  #也可以覆蓋默認(rèn)值

當(dāng)然這也不是萬(wàn)能的:

  1. 在YAML中alias不支持跨文件,所以想要利用docker compose支持-f 來(lái)定義多個(gè)compose文件的便利,一處定義多處引用的想法是不現(xiàn)實(shí)的。
  2. 對(duì)數(shù)組類(lèi)型的值是不支持引用的,下面這種情況就不能偷懶了。
x-ports: &default-ports
  - "8000:8000"
  - "8888:8888"

services:
  webA:
    ports:
      <<: *default-ports
      - "9999:9999"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.Compose介紹 Docker Compose是一個(gè)用來(lái)定義和運(yùn)行復(fù)雜應(yīng)用的Docker工具。一個(gè)使用Doc...
    渝味閱讀 7,429評(píng)論 0 2
  • 一、Docker-Compose簡(jiǎn)介 ??Docker-Compose項(xiàng)目是Docker官方的開(kāi)源項(xiàng)目,負(fù)責(zé)實(shí)現(xiàn)對(duì)...
    無(wú)劍_君閱讀 966評(píng)論 0 1
  • 9.1 使用Docker Compose 部署應(yīng)用——簡(jiǎn)介 多數(shù)的現(xiàn)代應(yīng)用通過(guò)多個(gè)更小的服務(wù)相互協(xié)同來(lái)組成一個(gè)完整...
    super_pcm閱讀 965評(píng)論 0 6
  • 可以使用一個(gè)Dockerfile模板文件來(lái)快速構(gòu)建一個(gè)自己的鏡像并運(yùn)行為應(yīng)用容器,詳細(xì)請(qǐng)參考Dockerfile及...
    段永平閱讀 918評(píng)論 0 1
  • 今天有點(diǎn)累,感覺(jué)身體的疲憊,直到現(xiàn)在,看了手機(jī)上的計(jì)步器,總共走了17000步,快要超過(guò)之前的記錄,難怪會(huì)如此疲憊...
    OO碰到OO閱讀 180評(píng)論 0 0

友情鏈接更多精彩內(nèi)容