青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數據加載中……

docker之Compose.yml配置說明

1、build:指定dockerfile的上下文路徑,或詳細配置的對象。示例如下:
     version: "3.9"
     services:
       webapp:
         build:
            context: ./dir
            dockerfile: Dockerfile-alternate
            args:
              buildno: 1
    context 上下文路徑,可以是文件路徑,也可以是到鏈接到 git 倉庫的 url。當是相對路徑時,它被解釋為相對于 Compose 文件的位置。
    dockerfile 指定構建鏡像的 Dockerfile 文件名
    args 構建參數,在構建過程中訪問的環境變量
    cache_from 緩存解析鏡像列表
    labels 設置構建鏡像的元數據
    network 設置網絡容器連接,none 表示在構建期間禁用網絡
    shm_size 設置/dev/shm此構建容器的分區大小
    target 多階段構建,可以指定構建哪一層
2、network:自定義網絡。一般的Compose為您的應用程序設置單個網絡。services 服務的每個容器都加入默認網絡,并且可以被該網絡上的其他容器訪問。
              應用程序網絡的名稱基于“項目名稱”,也就是其所在目錄的名稱。可以使用 --project-name 命令行選項 或 COMPOSE_PROJECT_NAME 環境變量覆蓋項目名稱。
    例如:version: "3.9"
    services:
      web:
        build: .   #當前目錄
        ports:
         - "8000:8000"
      db:
        image: postgres
        ports:
          - "8001:5432" #8001宿主機端口 5432(postgres默認端口)即是容器端口
                               執行docker-compose up即創建項目名稱(項目路徑)_default網絡并將web和db加入網絡
     每個Sevices配置下也可以指定network配置,來指定一級配置的網絡。如下所示:
     version: "3"
     services:
       proxy:
         build: ./proxy
       networks:
         - frontend
     app:
       build: ./app
      networks:
        - frontend
        - backend
    db:
      image: postgres
    networks:
      - backend
  networks:
    frontend:
    # Use a custom driver
    driver: custom-driver-1
  backend:
    # Use a custom driver which takes special options
    driver: custom-driver-2
    driver_opts:
      foo: "1"
      bar: "2"
  這里配置了兩個frontend和backend ,且自定義了網絡類型。
  每一個services下,proxy , app , db都定義了networks配置。
   proxy 只加入到 frontend網絡。
   db 只加入到backend網絡。
   app同時加入到 frontend和backend 。
   db和proxy不能通訊,因為不在一個網絡中。
   app和兩個都能通訊,因為app在兩個網絡中都有配置。
   db和proxy要通訊,只能通過app這個應用來連接。

   同一網絡上的其他容器可以使用服務名稱或別名來連接到其他服務的容器。例如
   services:
     s ome-service:
        networks:
      some-network:
        aliases:#別名
          - alias1
          - alias3
      other-network:
        aliases:
          - alias2
   還可以指定靜態IP地址,例如
    version: "3.9"
    services:
      app:
        image: nginx:alpine
     networks:
        app_net:
            ipv4_address: 172.16.238.10
            ipv6_address: 2001:3984:3989::10
    networks:
       app_net:
           ipam:
               driver: default
          config:
              - subnet: "172.16.238.0/24"
             - subnet: "2001:3984:3989::/64
 
    driver 指定該網絡應使用哪個驅動程序。默認使用bridge單個主機上的網絡,overlay代表跨多個節點的網絡群
     host or none 使用主機的網絡堆棧,或者不使用網絡。相當于docker run --net=host或docker run --net=none。僅在使用docker stack命令時使用。如果您使用該           docker-compose命令,請改用 network_mode。
     driver_opts 將選項列表指定為鍵值對以傳遞給此網絡的驅動程序
     driver_opts:
         foo: "bar"
         baz: 1
     attachable 僅在driver設置為 overlay時可用。如果設置為true,那么除了服務之外,獨立容器也可以連接到此網絡。例如
    networks:
      mynet1:
         driver: overlay
    attachable: true
   enable_ipv6 在此網絡上啟用 IPv6 網絡。
   ipam 自定義 IPAM (IP地址管理)配置
   ipam:
      driver: default
  config:
    - subnet: 172.28.0.0/16
   internal 默認情況下,Docker 會將橋接網絡提供外部連接。如果要創建外部隔離的覆蓋網絡,可以將此選項設置為true。
   labels 添加元數據
   external如果設置為true,則指定此網絡是在 Compose 之外創建的。docker-compose up不會嘗試創建它,如果它不存在,則會引發錯誤。在下面的例子中,proxy是通往外界的門戶。例如
   version: "3.9"
   services:
      proxy:
        build: ./proxy
    networks:
      - outside
      - default
    app:
      build: ./app
    networks:
      - default
  networks:
     outside:
        external: true
    name為此網絡設置自定義名稱。例如
    version: "3.9"
    networks:
      network1:
         name: my-app-net
 3、cap_add, cap_drop添加或刪除容器功能。例如
     cap_add:
         - ALL
    cap_drop:
       - NET_ADMIN
       - SYS_ADMIN
 4、cgroup_parent為容器指定一個可選的父 cgroup。
 5、command:覆蓋容器啟動后默認執行的命令
 6、configs:賦予服務相應的configs訪問權限
                  一般指定配置名稱即可,以下示例授予redis服務訪問my_config和my_other_configconfigs 的權限。
     以下示例授予redis服務訪問my_config和my_other_configconfigs 的權限。
        version: "3.9"
        services:
             redis:
                 image: redis:latest
            deploy:
               replicas: 1
            configs:
               - my_config
               - my_other_config
       configs:
           my_config:
               file: ./my_config.txt
           my_other_config:
               external: true
       詳細用法示例:
       version: "3.9"
       services:
           redis:
                image: redis:latest
          deploy:
               replicas: 1
          configs:
               - source: my_config         #配置名
              target: /redis_config     #掛載文件路徑名稱
              uid: '103'
              gid: '103'
              mode: 0440                 #掛載文件在容器的權限  這里是可讀權限
      configs:
           my_config:
                file: ./my_config.txt
           my_other_config:
                external: true
    一級configs詳細配置參數說明:
   file: 使用指定路徑中的文件內容創建配置。
   external: 如果設置為 true,則指定此配置已經創建。Docker 不會嘗試創建它,如果它不存在, 會報錯config not found。
   name: Docker 中配置對象的名稱。此字段可用于引用包含特殊字符的配置。
   driver和driver_opts:自定義驅動程序的名稱,以及作為鍵/值對傳遞的特定于驅動程序的選項。
   template_driver:要使用的模板驅動程序的名稱,它控制是否以及如何將配置負載作為模板。如果未設置驅動程序,則不使用模板。當前支持的唯一驅動程序是golang
   當 Docker 中的配置名稱與服務中存在的名稱不同時,可以使用name進行配置
   configs:
      my_first_config:
          file: ./config_data
       my_second_config:
          external:
               name: redis_config
    7、container_name:自定義容器名稱,必須是唯一
    8、credential_spec:僅Windows 容器的服務有用。為托管服務帳戶配置憑據規范。
          配置列表格式為file://<filename>或registry://<value-name>
    9、depends_on:表示服務之間的依賴關系
          docker-compose up按依賴順序啟動服務。在下面的例子中,db和redis在 web之前啟動。
         docker-compose up SERVICE自動包含SERVICE的依賴項。在下面的示例中,docker-compose up web還創建并啟動db和redis。
         docker-compose stop按依賴順序停止服務。在以下示例中,web在db和redis之前停止。示例如下:
      version: "3.9"
      services:
        web:
          build: .
        depends_on:
           - db
           - redis
        redis:
          image: redis
        db:
          image: postgres
 10、deploy:部署和運行有關的配置,只在 swarm(集群管理工具)模式下才會有用。
       endpoint_modeL:訪問集群服務的方式.
       vip是Docker 集群服務一個對外的虛擬 ip,求都會通過這個虛擬 ip 到達集群服務內部的機器。
       dnsrr :dns輪詢。所有的請求會自動輪詢獲取到集群 ip 列表中的一個 ip 地址。
      labels 在服務上設置標簽  容器上的 labels(跟 deploy 同級的配置) 覆蓋 deploy 下的 labels。 
      mode 指定服務提供的模式
      global:全局服務,服務將部署至集群的每個節點
      replicated:復制服務,復制指定服務到集群的機器上
      placement 指定約束和首選項的位置。示例如下
        version: "3.9"
        services:
           db:
                image: postgres
          deploy:
               placement:
                   constraints:
                        - "node.role==manager"
                        - "engine.labels.operatingsystem==ubuntu 18.04"
                    preferences:
                         - spread: node.labels.zone
     可以通過定義約束表達式來限制可以安排任務的節點集。約束表達式可以使用匹配(==) 或排除(!=) 規則。多個約束查找可以使用 AND 匹配。
     約束可以匹配節點或 Docker 引擎標簽,如下所示:
        節點屬性                           匹配                                    例子
        node.id                          節點ID                          node.id==2ivku8v2gvtg4
        node.hostname                 節點主機名                          node.hostname!=node-2
        node.role                  節點角色 ( manager/ worker)  node.role==manager
        node.platform.os       節點操作系統                          node.platform.os==windows
        node.platform.arch       節點架構                          node.platform.arch==x86_64
        node.labels             用戶定義的節點標簽                  node.labels.security==high
        engine.labels          Docker 引擎的標簽                  engine.labels.operatingsystem==ubuntu-14.04
   max_replicas_per_node 如果服務是replicated(默認值),則限制任何時間在節點上運行的副本數
   replicas 如果服務是replicated(默認值),指定在任何給定時間應運行的容器數量。
   resources 配置資源約束。在下面示例中,redis服務被限制為使用不超過 50M 的內存和0.50(單核的 50%)可用處理時間 (CPU),并保留20M內存和0.25CPU 時間(始終可用)。
   version: "3.9"
   services:
        redis:
          image: redis:alpine
          deploy:
             resources:
                limits:
                   cpus: '0.50'
                   memory: 50M
                 reservations:
                      cpus: '0.25'
                      memory: 20M
       restart_policy 配置是否以及如何在退出時重新啟動容器。替換restart
       condition: none, on-failure 或 any (默認: any) 之一
       delay:重新啟動嘗試之間等待的時間(默認值:5s)。
       max_attempts:在放棄之前嘗試重新啟動容器的次數(默認值:永不放棄),。如果在配置的窗口(window)內重新啟動未成功,則此嘗試不計入配置max_attempts值
       window:決定重啟是否成功之前等待多長時間(默認值:立即重啟)。
       rollback_config 在更新失敗的情況下應如何回滾服務
        parallelism:一次回滾的容器數量。如果設置為 0,則所有容器同時回滾。
        delay:每個容器組回滾之間等待的時間(默認為 0 秒)。
        failure_action: 如果回滾失敗怎么辦。continue或者pause(默認pause)
        monitor:每次任務更新后監控失敗的持續時間(ns|us|ms|s|m|h)(默認 5s)注意:設置為 0 將使用默認 5s。
        max_failure_ratio:回滾期間允許的故障率(默認為 0)。
        order:回滾期間的操作順序。stop-first(舊任務在開始新任務之前停止),或start-first(首先啟動新任務,并且正在運行的任務短暫重疊)(默認stop-first)。
        update_config 配置應如何更新服務
         parallelism:一次更新的容器數量。
        delay:更新一組容器之間的等待時間。
        failure_action: 如果更新失敗怎么辦。continue,rollback或者pause (默認:pause)。
        monitor:每次任務更新后監控失敗的持續時間(ns|us|ms|s|m|h)(默認 5s)注意:設置為 0 將使用默認 5s。
        max_failure_ratio:更新期間可容忍的故障率。
        order:更新期間的操作順序。stop-first(舊任務在開始新任務之前停止),或start-first(新任務首先啟動,并且正在運行的任務短暫重疊)(默認stop-first)
  11、devices。設備映射列表。使用與--devicedocker 客戶端創建選項格式相同
        devices:
              - "/dev/ttyUSB0:/dev/ttyUSB0"
  12、dns:自定義 DNS 服務器。可以是單個值或列表
  13、dns_earch:自定義 DNS 搜索域。可以是單個值或列表
  14、entrypoint:用于運行程序
        entrypoint: /code/entrypoint.sh
         entrypoint: ["php", "-d", "memory_limit=-1", "vendor/bin/phpunit"]
  15、env_file:從文件添加環境變量。可以是單個值或列表。
      Compose 文件docker-compose -f FILE,則其中的路徑 env_file相對于該文件所在的目錄。
      environment 聲明的環境變量會覆蓋這些值——即使這些值是空的或未定義的。
  16、environment:添加環境變量。您可以使用數組或字典。任何布爾值(true、false、yes、no)都需要用引號括起來。
       environment和Dockerfile 中的ENV指令一樣把變量保存在容器、鏡像中。
  17、expose:暴露端口。實際上docker-compose.yml的端口映射還得ports這樣的標簽。
  18、external_links鏈接到 docker-compose.yml 外部的容器,甚至 并非 Compose 項目文件管理的容器
        external_links:
              - redis_1
              - project_db_1:mysql
              - project_db_1:postgresql
  19、extra_hosts:添加主機名映射,使用與 docker 客戶端--add-host類似會往/etc/hosts文件中添加一些記錄
        extra_hosts:
           - "somehost:162.242.195.82"
            - "otherhost:50.31.209.229"
  20、healthcheck:檢查容器是否“健康”。如果需要禁用鏡像的所有檢查項目,可以使用disable:true,相當于test:["NONE"]
     healthcheck:
       test: ["CMD", "curl", "-f", "http://localhost"]
       interval: 1m30s    #間隔
       timeout: 10s
       retries: 3
       start_period: 40s   #開始時間
     test必須是字符串或列表。如果是列表,則第一項必須是NONE,CMD或CMD-SHELL。如果是字符串,則相當于指定CMD-SHELL后跟該字符串。
         # Hit the local web app
          test: ["CMD", "curl", "-f", "http://localhost"]
          test: ["CMD-SHELL", "curl -f http://localhost || exit 1"]
          test: curl -f https://localhost || exit 1
  21、image:從指定的鏡像中啟動容器,可以是存儲倉庫、標簽以及鏡像 ID
  22、init:轉發信號和取得進程,將此選項設置true為服務啟用此功能
  23、isolation:容器隔離技術.在 Linux 上,唯一支持的值是default。
                       在 Windows 上,可接受的值為default、process和hyperv。
  24、labels:元數據添加到容器,可以使用數組或字典
        labels:
           - "com.example.description=Accounting webapp"
           - "com.example.department=Finance"
           - "com.example.label-with-empty-value"
         labels:
           com.example.description: "Accounting webapp"
           com.example.department: "Finance"
           com.example.label-with-empty-value: ""
  25、links:鏈接到另一個服務中的容器。指定服務名稱和鏈接別名 ("SERVICE:ALIAS"),或僅指定服務名稱。
        在以下示例中,web可以訪問db,并且設置別名為database:
           version: "3.9"
           services:
                 web:
                      build: .
                  links:
                  - "db:database"
                   db:
                      image: postgres
  26、logging:日志記錄配置.示例如下
           version: "3.9"
            services:
                 some-service:
                      image: some-service
                logging:
                     driver: "json-file"
               options:
                      max-size: "200k"
                      max-file: "10"
          network_mode
  27、network_mode:網絡模式,可以使用特殊形式service:[service name]。
           network_mode: "bridge"
           network_mode: "host"
           network_mode: "none"
           network_mode: "service:[service name]"
           network_mode: "container:[container name/id]"
  28、pid:將 PID 模式設置為主機 PID 模式。這會在容器和主機操作系統之間共享 PID 地址空間。
       使用此標志啟動的容器可以訪問和操作裸機命名空間中的其他容器.
          pid: "host"
  29、port:暴露端口
        一般寫法:指定兩個端口 ( HOST:CONTAINER)
                    僅指定容器端口(為主機端口選擇了一個臨時主機端口)。
                    指定要綁定到兩個端口的主機 IP 地址(默認為 0.0.0.0,表示所有接口):( IPADDR:HOSTPORT:CONTAINERPORT)。
                    如果 HOSTPORT 為空(例如127.0.0.1::80),則會選擇一個臨時端口來綁定到主機上。
        ports:
             - "3000"
             - "3000-3005"
             - "8000:8000"
             - "9090-9091:8080-8081"
             - "49100:22"
             - "127.0.0.1:8001:8001"
             - "127.0.0.1:5000-5010:5000-5010"
             - "127.0.0.1::5000"
             - "6060:6060/udp"
             - "12400-12500:1240"
    詳細寫法:
          target: 容器內的端口
          published: 公開的端口
          protocol:端口協議(tcp或udp)
          mode:host用于在每個節點上發布主機端口,或ingress用于負載平衡的群模式端口。
       ports:
           - target: 80
            published: 8080
            protocol: tcp
            mode: host
 30、profiles:用于定義和控制哪些服務在特定場景下運行,通過為每個服務指定一個或多個 profile 標簽,可以實現條件化啟動服務。
                        默認啟動所有。要激活特定的 profile,可以在命令行中使用 `--profile` 參數。
         profiles: ["frontend", "debug"]
         profiles:
          - frontend
          - debug
 31、restart:重啟策略
      restart: "no"   #默認,任何情況下都不會重啟
      restart: always   #一直重啟不停
      restart: on-failure        #如果退出代碼指示失敗錯誤,則該策略會重新啟動容器
      restart: unless-stopped    #總是重新啟動容器,除非容器停止(手動或其他方式)
 32、secrets:授予訪問權限
       一般用法僅指定機密名稱,示例如下
          version: "3.9"
          services:
              redis:
                   image: redis:latest
             deploy:
                  replicas: 1
             secrets:
                  -  my_secret
                  - my_other_secret
         secrets:
              my_secret:
                   file: ./my_secret.txt
              my_other_secret:
                  external: true    #外部機密,表示已經在docker中定義,無論如何都不會重新建立。如果外部機密不存在,部署失敗并顯示secret not found
   
    詳細用法:source:定義機密標識符。
    arget:要掛載在/run/secrets/服務的任務容器中的文件的名稱,默認是 source。
    uid和gid:/run/secrets/在服務的任務容器中擁有文件的數字 UID 或 GID 。
    mode:要掛載在/run/secrets/ 服務的任務容器中的文件的權限,以八進制表示法。例如,0444 代表可讀。
    file:使用指定路徑中的文件內容創建機密。
    template_driver:要使用的模板驅動程序的名稱。當前支持的唯一驅動程序是golang,它使用golang。示例
    
   version: "3.9"
   services:
        redis:
           image: redis:latest
        deploy:
          replicas: 1
       secrets:
           - source: my_secret
           target: redis_secret
            uid: '103'
           gid: '103'
           mode: 0440 #組可讀
     secrets:
        my_secret:
             file: ./my_secret.txt     #使用指定路徑中的文件內容創建機密
        my_other_secret:
             external: true   
     上述例子表示my_first_secret在<stack_name>_my_first_secret 部署堆棧時創建 ,并且my_second_secret已存在于 Docker 中。
  33、security_opt:管理全部服務的標簽,比如設置全部服務的 user 標簽值為USER
       security_opt:
        - label:user:USER
        - label:role:ROLE 
  34、stop_grace_period:嘗試停止容器時等待多長時間,默認10秒
  35、stop_signal:設置信號來停止容器。默認情況下stop使用 SIGTERM
  36、sysctls:內核參數。可以是數組或字典
     sysctls:
        net.core.somaxconn: 1024
        net.ipv4.tcp_syncookies: 0
  37、tmpfs:容器掛載臨時文件。可以是單個值或列表
        tmpfs: /run
        tmpfs:
           - /run
           - /tmp
  38、ulimits:設置當前進程以及其子進程的資源使用量,覆蓋默認試著
        ulimits:
           nproc: 65535   #最大進程數
           nofile:
             soft: 20000   #軟件資源限制
             hard: 40000  
  39、userns_mode:如果 Docker 守護程序配置了用戶命名空間,則禁用此服務的用戶命名空間。
        userns_mode: "host" #服務停用用戶命名空間功能,讓服務以宿主機的用戶命名空間運行,類似 docker run 命令中使用 --userns=host 參數的效果
        使用 docker stack deploy 在 Swarm(集群) 模式下部署堆棧時,userns_mode 配置項會被忽略,其僅對基于常規 docker-compose 啟動的服務生效
  40、volumes:指定卷(Volumes)的掛載位置。卷用于在容器和宿主機之間共享數據,或者在不同的容器之間共享數據。
         web 服務使用命名卷 (mydata),以及為單個服務定義的綁定安裝(dbservice下的第一個路徑volumes)。db服務還使用名為dbdata(dbservice下的第二個路徑             volumes)的命名卷,使用了舊字符串格式定義它以安裝命名卷。命名卷必須列在頂級volumes鍵下。
     version: "3.9"
     services:
        web:
          image: nginx:alpine
           volumes:
              - type: volume  #安裝類型,volume(默認值:持久化存儲卷)
                                     #tmpfs(數據會存儲內存里。適合存儲臨時的非持久化且需較快讀寫速度的數據,容器停止后對應數據便會消失。能搭配 size 等選項設定容量限制)
                                    #npipe(僅適用于 Windows 系統,用于掛載命名管道(Named Pipe))
                                    #bind(代表綁定掛載,把宿主機指定路徑直接掛載到容器內。宿主機路徑可用絕對或相對路徑表示,常適合開發中需快速訪問宿主機文件場景)
              source: mydata  #安裝源、主機上用于綁定安裝的路徑或在頂級volumes 中定義的卷的名稱 。不適用于 tmpfs 掛載
              target: /data   #安裝卷的容器中的路徑
              volume:
                nocopy: true  #創建卷時禁用從容器復制數據的標志
              - type: bind
                 source: ./static
                 target: /opt/app/static
        db:
          image: postgres:latest
          volumes:
               - "/var/run/postgres/postgres.sock:/var/run/postgres/postgres.sock" #綁定掛載:指定宿主機路徑和容器內路徑。格式[SOURCE:]TARGET[:MODE]格式
               - "dbdata:/var/lib/postgresql/data"                                   #具名掛載:指定卷名和容器內路徑。卷名需要在頂級volumes鍵下聲明。
               - /path/in/container                                                  #匿名掛載:只指定容器內路徑,不指定宿主機路徑或卷名。Docker Compose會創建一個匿名卷。
   volumes:
     mydata:
     dbdata: # 聲明具名卷
   一級(最上面Volmes)配置參數:driver 指定該卷應使用哪個卷驅動程序 
                              driver_opts 將選項列表指定為鍵值對以傳遞給此卷的驅動程序
                              labels 添加元數據
                              name 為此卷設置自定義名稱
                              o選項用于向卷驅動傳遞以逗號分隔的多個掛載選項列表。其具體取值取決于卷驅動類型(type)
                                使用 local 驅動作綁定掛載:用 o: bind 表明用綁定模式掛載,類似執行 mount -o bind 命令,常與 type: none 組合
                                當驅動為 nfs 時,o 可設服務器地址、讀寫權限等
                                掛載 CIFS 卷:掛載 CIFS 協議的網絡共享目錄時,借 o 設定用戶名、密碼及目錄、文件權限等
                                當 driver 為 tmpfs 時,能借 o 配置類似大小、uid 等,像 o: "size=100m,uid=1000" 限制卷大小 100MB,并設所有者用戶 ID 為 1000。
         volumes:
              example:
                   driver_opts:
                     type: "nfs"
                     o: "addr=10.40.0.199,nolock,soft,rw"  
                     device: ":/docker/example
 41、變量置換:用 $VARIABLE 或者 ${VARIABLE} 來置換變量,避免硬編碼敏感信息或重復配置,非常適合多環境部署場景
       ${VARIABLE:-default}VARIABLE在環境中未設置或為空時設置為default。
       ${VARIABLE-default}僅當VARIABLE在環境中未設置時才設置為default。
       ${VARIABLE:?err}退出并顯示一條錯誤消息,其中包含環境中的errif VARIABLE未設置或為空。
       ${VARIABLE?err}退出并顯示一條錯誤消息,其中包含errif VARIABLE在環境中未設置。
       如果想使用一個不被compose處理的變量,可用使用 $$;如有特殊字符,要用引號引起來使用環境變量
       services:
          app:
           image: ${IMAGE_NAME:default-app:latest}  # 變量不存在時使用默認值
           ports:
                - "${APP_PORT}:80"
       使用 .env 文件 
        # .env 文件
        IMAGE_NAME=my-app:1.0
        APP_PORT=8080
        compose.yml文件
        services:
        app:
          image: ${IMAGE_NAME}
          ports:
            - "${APP_PORT}:80"  #若 APP_PORT 未定義,使用 80
    --env-file 選項指定額外的環境變量文件
        docker-compose --env-file ./config/prod.env up
        在環境變量中使用變量,注意env 文件中支持變量嵌套(需注意 Shell 兼容性),env文件示例如下
        BASE_DIR=/app
        DATA_DIR=${BASE_DIR}/data  # 引用 BASE_DIR 的值        
    默認情況下,未定義的變量會被替換為空字符串。若希望未定義變量報錯,可啟用嚴格模式

posted on 2025-08-09 23:01 Benjamin 閱讀(62) 評論(0)  編輯 收藏 引用 所屬分類: 雜談

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美不卡一卡二卡免费版| 91久久在线视频| 蜜臀久久久99精品久久久久久 | 欧美在线你懂的| 亚欧成人精品| 久久天堂精品| 欧美日韩第一页| 国产精品久久久对白| 国产精品日韩一区二区| 国产一区二区三区久久久| 亚洲成人中文| 亚洲自拍偷拍麻豆| 欧美电影免费观看网站| 亚洲免费激情| 久久久久九九视频| 欧美特黄a级高清免费大片a级| 国产视频久久| 夜夜嗨av一区二区三区免费区| 久久福利视频导航| 91久久精品国产| 亚洲小说区图片区| 久久亚洲精品一区二区| 欧美日韩专区在线| 黄色在线一区| 亚洲欧美另类中文字幕| 欧美jizzhd精品欧美巨大免费| 在线亚洲免费| 牛牛影视久久网| 一本色道久久综合亚洲精品按摩| 亚洲欧美亚洲| 欧美精品二区| 国内精品久久久久久久97牛牛| 亚洲色图制服丝袜| 欧美成人综合一区| 久久国产精品99精品国产| 国产精品超碰97尤物18| 亚洲精品美女久久7777777| 久久精品人人做人人综合| 日韩网站免费观看| 美国十次了思思久久精品导航| 国产精品一区=区| 亚洲一区在线观看免费观看电影高清| 亚洲国产精品女人久久久| 欧美伊人久久久久久久久影院 | 国产精品一二一区| 亚洲卡通欧美制服中文| 免费中文日韩| 欧美中文字幕视频在线观看| 国产精品美女999| 亚洲一区二区日本| 亚洲精品中文字幕有码专区| 麻豆成人精品| 亚洲电影一级黄| 欧美xx69| 欧美不卡福利| 夜夜爽99久久国产综合精品女不卡| 欧美激情国产精品| 你懂的亚洲视频| 99精品视频一区二区三区| 亚洲国产视频一区二区| 欧美激情1区2区3区| 国内精品视频在线播放| 久久伊人免费视频| 麻豆精品一区二区综合av | 亚洲激情在线观看视频免费| 久久亚洲一区二区| 久久久在线视频| 亚洲国产成人av| 最新国产成人av网站网址麻豆| 欧美国产专区| 亚洲一区在线观看免费观看电影高清| 一本色道婷婷久久欧美| 国产目拍亚洲精品99久久精品| 欧美一区二区视频97| 欧美一区二区成人6969| 精品999久久久| 亚洲黄色影片| 国产精品国产三级国产| 欧美在线观看网址综合| 久久精品亚洲精品| 亚洲精品国产日韩| 亚洲一级在线观看| 在线电影国产精品| 亚洲人成人一区二区三区| 亚洲国产精品一区二区www在线| 欧美激情精品久久久久久| 在线亚洲伦理| 久久精品国产清自在天天线| 亚洲美女在线一区| 中国av一区| 亚洲国产精品久久人人爱蜜臀| 亚洲人成人一区二区在线观看| 国产精品美女诱惑| 免费看的黄色欧美网站| 欧美日韩一区二| 麻豆乱码国产一区二区三区| 欧美区二区三区| 久久久亚洲欧洲日产国码αv| 欧美福利视频| 久久国产福利国产秒拍| 欧美电影打屁股sp| 久久成人综合视频| 欧美日韩精品免费看| 老巨人导航500精品| 欧美视频日韩视频在线观看| 免费高清在线视频一区·| 国产精品你懂的在线| 亚洲大胆视频| 狠狠色狠色综合曰曰| 亚洲午夜一二三区视频| 99re66热这里只有精品4| 久久久久久久久岛国免费| 午夜免费久久久久| 欧美日韩高清在线| 免费日韩成人| 国产亚洲免费的视频看| 亚洲午夜一级| 亚洲欧美国产日韩中文字幕| 欧美国产在线观看| 欧美mv日韩mv国产网站| 伊人久久综合| 久久aⅴ国产欧美74aaa| 久久精品二区三区| 国产亚洲二区| 性色av一区二区三区红粉影视| 在线视频你懂得一区二区三区| 久久久人成影片一区二区三区观看 | 欧美成人性生活| 美国成人直播| 狠狠色狠狠色综合人人| 欧美在线free| 久久久中精品2020中文| 国产综合一区二区| 久久九九久久九九| 久久噜噜亚洲综合| 韩国三级电影久久久久久| 亚洲欧美日韩国产精品| 欧美亚洲免费在线| 国产精品每日更新| 亚洲在线视频网站| 欧美一区二区三区视频免费播放| 欧美亚一区二区| 亚洲天堂偷拍| 香蕉成人伊视频在线观看| 国产精品免费看片| 午夜精品久久| 欧美ed2k| 亚洲午夜极品| 国产欧美三级| 久久婷婷丁香| 一区二区三区**美女毛片 | 国产亚洲一区二区精品| 亚洲欧美综合一区| 久久久久欧美精品| 在线观看一区二区视频| 欧美a级大片| 亚洲伦理在线免费看| 欧美经典一区二区| 一区二区三区免费看| 久久精品午夜| 国产一区二区三区黄| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲国产导航| 午夜精品视频网站| 亚洲第一中文字幕| 欧美日韩亚洲综合一区| 欧美在线观看视频一区二区| 免费人成精品欧美精品| 亚洲无限乱码一二三四麻| 国产日韩欧美精品在线| 另类av一区二区| 国产精品99久久久久久久vr| 久久精品导航| 在线日韩成人| 国产精品第一区| 老司机精品导航| 亚洲四色影视在线观看| 欧美成人首页| 欧美在线一级va免费观看| 亚洲第一二三四五区| 国产精品日本精品| 欧美激情1区2区| 久久久精品免费视频| 日韩午夜在线| 亚洲第一狼人社区| 国内精品伊人久久久久av影院| 欧美精品91| 久久久久久久91| 午夜精品一区二区三区四区| 亚洲看片免费| 欧美激情一区二区久久久| 欧美一区视频| 亚洲一区二区三区四区在线观看| 激情六月综合| 国产亚洲一区二区在线观看| 欧美日韩精品免费看| 免费亚洲一区| 久久免费视频在线| 久久黄金**| 午夜一区二区三区在线观看|