docker-compose.yml 文件的編寫版本3


Docker Compose 配置文件的構建參數說明

1 build

在構建時應用的配置選項。

build 可以指定為包含構建上下文路徑的字符串

 自己構建鏡像,構建鏡像根據相對路徑 ./dir 目錄下的 dockerfile 文件構建  

version: "3.9"
services:
  webapp:
    build: ./dir

 

 

或者,作為一個在上下文中指定路徑的對象,以及可選的Dockerfileargs

構建的鏡像是根據 相對路徑./dir下的 Dockerfile-alternate 文件

version: "3.9"
services:
  webapp:
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
      args:
        buildno: 1

 

如果指定了image, 會打一個tag 是webapp:tag的鏡像,默認的鏡像的tag是 conpose的名字_service名字

version: "3.9"
services:
  webapp:
    build:
      context: ./dir
      dockerfile: Dockerfile-alternate
      args:
        buildno: 1
image: webapp:tag

 

2  context

包含 Dockerfile 的目錄的路徑,或 git 存儲庫的 url。

當提供的值是相對路徑時,它被解釋為相對於 Compose 文件的位置。此目錄也是發送到 Docker 守護程序的構建上下文。

Compose 使用生成的名稱構建並標記它,然后使用該鏡像 

build:
  context: ./dir

 

3  dockerfile

指定構建的鏡像的文件,這時根據Dockerfile-alternate 構建鏡像

build:
  context: .
  dockerfile: Dockerfile-alternate

 

4 args

添加參數,只能在鏡像構建過程中訪問的環境變量,需要在dockerfilr 中指定參數

# syntax=docker/dockerfile:1

ARG buildno
ARG gitcommithash

RUN echo "Build number: $buildno"
RUN echo "Based on commit: $gitcommithash"

這些args 在build鍵下,可以這樣映射

build:
  context: .
  args:
    buildno: 1
    gitcommithash: cdc3b19

 

 

build:
  context: .
  args:
    - buildno=1
    - gitcommithash=cdc3b19

 

注:

在你的 Dockerfile 中,如果你ARGFROM指令指定, ARG在構建指令下是不可用的FROM如果您需要一個參數在兩個地方都可用,請在FROM指令下指定它 有關用法詳細信息,請參閱文檔中了解 ARGS 和 FROM 如何交互部分。

您可以在指定構建參數時省略該值,在這種情況下,它在構建時的值是 Compose 運行環境中的值。

args:
  - buildno
  - gitcommithash

 

使用布爾值時的提示

YAML 布爾值 ( "true""false""yes""no""on""off") 必須用引號括起來,以便解析器將它們解釋為字符串。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM