<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Docker-Compose常用命令

      一、Docker-Compose簡介

      ??Docker-Compose項目是Docker官方的開源項目,負責實現對Docker容器集群的快速編排。
      ??Docker-Compose將所管理的容器分為三層,分別是工程(project),服務(service)以及容器(container)
      ??Docker-Compose運行目錄下的所有文件(docker-compose.yml,extends文件或環境變量文件等)組成一個工程,若無特殊指定工程名即為當前目錄名。一個工程當中可包含多個服務,每個服務中定義了容器運行的鏡像,參數,依賴。一個服務當中可包括多個容器實例,Docker-Compose并沒有解決負載均衡的問題,因此需要借助其它工具實現服務發現及負載均衡。
      ??Docker-Compose的工程配置文件默認為docker-compose.yml,可通過環境變量COMPOSE_FILE或-f參數自定義配置文件,其定義了多個有依賴關系的服務及每個服務運行的容器。
      ??使用一個Dockerfile模板文件,可以讓用戶很方便的定義一個單獨的應用容器。在工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個Web項目,除了Web服務容器本身,往往還需要再加上后端的數據庫服務容器,甚至還包括負載均衡容器等。
      ??Compose允許用戶通過一個單獨的docker-compose.yml模板文件(YAML 格式)來定義一組相關聯的應用容器為一個項目(project)。
      ??Docker-Compose項目由Python編寫,調用Docker服務提供的API來對容器進行管理。因此,只要所操作的平臺支持Docker API,就可以在其上利用Compose來進行編排管理。
      文檔地址:https://docs.docker.com/compose/reference/build/

       

      二、Docker-Compose安裝

       
      # 下載Docker-Compose
      [root@topcheer ~]# curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
      #  Docker-Compose
      [root@topcheer bin]# sudo chmod +x /usr/local/bin/docker-compose
      [root@topcheer bin]# docker-compose version
      docker-compose version 1.24.1, build 4667896b
      docker-py version: 3.7.3
      CPython version: 3.6.8
      OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018
       

      三、Docker-Compose命令

      1、Docker-Compose命令格式

      docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]

      命令選項如下:
      -f,–file FILE指定Compose模板文件,默認為docker-compose.yml,可以多次指定。
      -p,–project-name NAME指定項目名稱,默認將使用所在目錄名稱作為項目名。
      -x-network-driver 使用Docker的可拔插網絡后端特性(需要Docker 1.9+版本)
      -x-network-driver DRIVER指定網絡后端的驅動,默認為bridge(需要Docker 1.9+版本)
      -verbose輸出更多調試信息
      -v,–version打印版本并退出

      2、docker-compose up

      docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]

      選項包括:
      -d 在后臺運行服務容器
      –no-color 不使用顏色來區分不同的服務的控制輸出
      –no-deps 不啟動服務所鏈接的容器
      –force-recreate 強制重新創建容器,不能與–no-recreate同時使用
      –no-recreate 如果容器已經存在,則不重新創建,不能與–force-recreate同時使用
      –no-build 不自動構建缺失的服務鏡像
      –build 在啟動容器前構建服務鏡像
      –abort-on-container-exit 停止所有容器,如果任何一個容器被停止,不能與-d同時使用
      -t, –timeout TIMEOUT 停止容器時候的超時(默認為10秒)
      –remove-orphans 刪除服務中沒有在compose文件中定義的容器
      –scale SERVICE=NUM 設置服務運行容器的個數,將覆蓋在compose中通過scale指定的參數
      docker-compose up
      啟動所有服務
      docker-compose up -d
      在后臺所有啟動服務
      -f 指定使用的Compose模板文件,默認為docker-compose.yml,可以多次指定。
      docker-compose -f docker-compose.yml up -d

       
      [root@topcheer docker]# docker-compose up -d
      Creating network "docker_default" with the default driver
      Pulling web1 (nginx:)...
      Trying to pull repository docker.io/library/nginx ...
      latest: Pulling from docker.io/library/nginx
      000eee12ec04: Pull complete
      eb22865337de: Pull complete
      bee5d581ef8b: Pull complete
      Digest: sha256:50cf965a6e08ec5784009d0fccb380fc479826b6e0e65684d9879170a9df8566
      Status: Downloaded newer image for docker.io/nginx:latest
      Creating web1 ... done
      Creating web2 ... done
       

      3、docker-compose ps

      docker-compose ps [options] [SERVICE...]
      docker-compose ps
      列出項目中目前的所有容器

       
      [root@topcheer docker]# docker-compose ps
      Name         Command          State          Ports
      ----------------------------------------------------------
      web1   nginx -g daemon off;   Up      0.0.0.0:6061->80/tcp
      web2   nginx -g daemon off;   Up      0.0.0.0:6062->80/tcp
      [root@topcheer docker]#
       

      4、docker-compose stop

      docker-compose stop [options] [SERVICE...]
      選項包括:
      -t, –timeout TIMEOUT 停止容器時候的超時(默認為10秒)
      docker-compose stop
      停止正在運行的容器,可以通過docker-compose start 再次啟動

       
      [root@topcheer docker]# docker-compose stop
      Stopping web2 ... done
      Stopping web1 ... done
      [root@topcheer docker]# docker-compose start
      Starting web1 ... done
      Starting web2 ... done
       

      5、docker-compose -h

      docker-compose -h
      查看幫助

       
      [root@topcheer docker]# docker-compose -h
      Define and run multi-container applications with Docker.
      
      Usage:
        docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
        docker-compose -h|--help
      
      Options:
        -f, --file FILE             Specify an alternate compose file
                                    (default: docker-compose.yml)
        -p, --project-name NAME     Specify an alternate project name
                                    (default: directory name)
        --verbose                   Show more output
        --log-level LEVEL           Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
        --no-ansi                   Do not print ANSI control characters
        -v, --version               Print version and exit
        -H, --host HOST             Daemon socket to connect to
      
        --tls                       Use TLS; implied by --tlsverify
        --tlscacert CA_PATH         Trust certs signed only by this CA
        --tlscert CLIENT_CERT_PATH  Path to TLS certificate file
        --tlskey TLS_KEY_PATH       Path to TLS key file
        --tlsverify                 Use TLS and verify the remote
        --skip-hostname-check       Don't check the daemon's hostname against the
                                    name specified in the client certificate
        --project-directory PATH    Specify an alternate working directory
                                    (default: the path of the Compose file)
        --compatibility             If set, Compose will attempt to convert keys
                                    in v3 files to their non-Swarm equivalent
      
      Commands:
        build              Build or rebuild services
        bundle             Generate a Docker bundle from the Compose file
        config             Validate and view the Compose file
        create             Create services
        down               Stop and remove containers, networks, images, and volumes
        events             Receive real time events from containers
        exec               Execute a command in a running container
        help               Get help on a command
        images             List images
        kill               Kill containers
        logs               View output from containers
        pause              Pause services
        port               Print the public port for a port binding
        ps                 List containers
        pull               Pull service images
        push               Push service images
        restart            Restart services
        rm                 Remove stopped containers
        run                Run a one-off command
        scale              Set number of containers for a service
        start              Start services
        stop               Stop services
        top                Display the running processes
        unpause            Unpause services
        up                 Create and start containers
        version            Show the Docker-Compose version information
      [root@topcheer docker]#
       

      6、docker-compose down

      docker-compose down [options]
      停止和刪除容器、網絡、卷、鏡像。
      選項包括:
      –rmi type,刪除鏡像,類型必須是:all,刪除compose文件中定義的所有鏡像;local,刪除鏡像名為空的鏡像
      -v, –volumes,刪除已經在compose文件中定義的和匿名的附在容器上的數據卷
      –remove-orphans,刪除服務中沒有在compose中定義的容器
      docker-compose down
      停用移除所有容器以及網絡相關

      7、docker-compose logs

      docker-compose logs [options] [SERVICE...]
      查看服務容器的輸出。默認情況下,docker-compose將對不同的服務輸出使用不同的顏色來區分。可以通過–no-color來關閉顏色。
      docker-compose logs
      查看服務容器的輸出

       
      [root@topcheer docker]# docker-compose logs -t -f --tail 20
      Attaching to web2, web1
      web2    | 2019-11-28T07:53:24.031166000Z 192.168.180.1 - - [28/Nov/2019:07:53:24 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-"
      web2    | 2019-11-28T07:53:24.054396000Z 2019/11/28 07:53:24 [error] 7#7: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.180.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.180.113:6062", referrer: "http://192.168.180.113:6062/"
      web2    | 2019-11-28T07:53:24.060006000Z 192.168.180.1 - - [28/Nov/2019:07:53:24 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.180.113:6062/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-"
      web1    | 2019-11-28T07:53:19.115374000Z 192.168.180.1 - - [28/Nov/2019:07:53:19 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-"
      web1    | 2019-11-28T07:53:19.326008000Z 192.168.180.1 - - [28/Nov/2019:07:53:19 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.180.113:6061/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" "-"
      web1    | 2019-11-28T07:53:19.326377000Z 2019/11/28 07:53:19 [error] 7#7: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.180.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.180.113:6061", referrer: "http://192.168.180.113:6061/"
       

      8、docker-compose build

      docker-compose build [options] [--build-arg key=val...] [SERVICE...]
      構建(重新構建)項目中的服務容器。
      選項包括:
      –compress 通過gzip壓縮構建上下環境
      –force-rm 刪除構建過程中的臨時容器
      –no-cache 構建鏡像過程中不使用緩存
      –pull 始終嘗試通過拉取操作來獲取更新版本的鏡像
      -m, –memory MEM為構建的容器設置內存大小
      –build-arg key=val為服務設置build-time變量
      服務容器一旦構建后,將會帶上一個標記名。可以隨時在項目目錄下運行docker-compose build來重新構建服務

      9、docker-compose pull

      docker-compose pull [options] [SERVICE...]
      拉取服務依賴的鏡像。
      選項包括:
      –ignore-pull-failures,忽略拉取鏡像過程中的錯誤
      –parallel,多個鏡像同時拉取
      –quiet,拉取鏡像過程中不打印進度信息
      docker-compose pull
      拉取服務依賴的鏡像

      10、docker-compose restart

      docker-compose restart [options] [SERVICE...]
      重啟項目中的服務。
      選項包括:
      -t, –timeout TIMEOUT,指定重啟前停止容器的超時(默認為10秒)
      docker-compose restart
      重啟項目中的服務

      11、docker-compose rm

      docker-compose rm [options] [SERVICE...]
      刪除所有(停止狀態的)服務容器。
      選項包括:
      –f, –force,強制直接刪除,包括非停止狀態的容器
      -v,刪除容器所掛載的數據卷
      docker-compose rm
      刪除所有(停止狀態的)服務容器。推薦先執行docker-compose stop命令來停止容器。

      12、docker-compose start

      docker-compose start [SERVICE...]
      docker-compose start
      啟動已經存在的服務容器。

      13、docker-compose run

      docker-compose run [options] [-v VOLUME...] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]
      在指定服務上執行一個命令。
      docker-compose run ubuntu ping www.baidu.com
      在指定容器上執行一個ping命令。

      14、docker-compose scale

      docker-compose scale web=3 db=2
      設置指定服務運行的容器個數。通過service=num的參數來設置數量

      15、docker-compose pause

      docker-compose pause [SERVICE...]
      暫停一個服務容器

      16、docker-compose kill

      docker-compose kill [options] [SERVICE...]
      通過發送SIGKILL信號來強制停止服務容器。 
      支持通過-s參數來指定發送的信號,例如通過如下指令發送SIGINT信號:
      docker-compose kill -s SIGINT

      17、dokcer-compose config

      docker-compose config [options]
      驗證并查看compose文件配置。
      選項包括:
      –resolve-image-digests 將鏡像標簽標記為摘要
      -q, –quiet 只驗證配置,不輸出。 當配置正確時,不輸出任何內容,當文件配置錯誤,輸出錯誤信息
      –services 打印服務名,一行一個

      [root@topcheer docker]# docker-compose config -q
      [root@topcheer docker]# 


      –volumes 打印數據卷名,一行一個

      18、docker-compose create

      docker-compose create [options] [SERVICE...]
      為服務創建容器。
      選項包括:
      –force-recreate:重新創建容器,即使配置和鏡像沒有改變,不兼容–no-recreate參數
      –no-recreate:如果容器已經存在,不需要重新創建,不兼容–force-recreate參數
      –no-build:不創建鏡像,即使缺失
      –build:創建容器前,生成鏡像

      19、docker-compose exec

      docker-compose exec [options] SERVICE COMMAND [ARGS...]
      選項包括:
      -d 分離模式,后臺運行命令。
      –privileged 獲取特權。
      –user USER 指定運行的用戶。
      -T 禁用分配TTY,默認docker-compose exec分配TTY。
      –index=index,當一個服務擁有多個容器時,可通過該參數登陸到該服務下的任何服務,例如:docker-compose exec –index=1 web /bin/bash ,web服務中包含多個容器

      20、docker-compose port

      docker-compose port [options] SERVICE PRIVATE_PORT
      顯示某個容器端口所映射的公共端口。
      選項包括:
      –protocol=proto,指定端口協議,TCP(默認值)或者UDP
      –index=index,如果同意服務存在多個容器,指定命令對象容器的序號(默認為1)

      21、docker-compose push

      docker-compose push [options] [SERVICE...]
      推送服務依的鏡像。
      選項包括:
      –ignore-push-failures 忽略推送鏡像過程中的錯誤

      22、docker-compose stop

      docker-compose stop [options] [SERVICE...]
      顯示各個容器運行的進程情況。

      23、docker-compose unpause

      docker-compose unpause [SERVICE...]
      恢復處于暫停狀態中的服務。

      24、docker-compose version

      docker-compose version
      打印版本信息

       
      [root@topcheer docker]# docker-compose version
      docker-compose version 1.24.1, build 4667896b
      docker-py version: 3.7.3
      CPython version: 3.6.8
      OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018
      [root@topcheer docker]#
       

      四、Docker-Compose模板文件

      1、Docker-Compose模板文件簡介
      ??Compose允許用戶通過一個docker-compose.yml模板文件(YAML 格式)來定義一組相關聯的應用容器為一個項目(project)。
      ??Compose模板文件是一個定義服務、網絡和卷的YAML文件。Compose模板文件默認路徑是當前目錄下的docker-compose.yml,可以使用.yml或.yaml作為文件擴展名。
      ??Docker-Compose標準模板文件應該包含versionservices、networks 三大部分,最關鍵的是services和networks兩個部分。
       
      version: '2'
      services:
        web:
          image: dockercloud/hello-world
          ports:
            - 8080
          networks:
            - front-tier
            - back-tier
      
        redis:
          image: redis
          links:
            - web
          networks:
            - back-tier
      
        lb:
          image: dockercloud/haproxy
          ports:
            - 80:80
          links:
            - web
          networks:
            - front-tier
            - back-tier
          volumes:
            - /var/run/docker.sock:/var/run/docker.sock 
      
      networks:
        front-tier:
          driver: bridge
        back-tier:
          driver: bridge
       

      Compose目前有三個版本分別為Version 1,Version 2,Version 3,Compose區分Version 1和Version 2(Compose 1.6.0+,Docker Engine 1.10.0+)。Version 2支持更多的指令。Version 1將來會被棄用。
      2、image
      ??image是指定服務的鏡像名稱或鏡像ID。如果鏡像在本地不存在,Compose將會嘗試拉取鏡像。

      services: 
          web: 
              image: hello-world

      3、build
      服務除了可以基于指定的鏡像,還可以基于一份Dockerfile,在使用up啟動時執行構建任務,構建標簽是build,可以指定Dockerfile所在文件夾的路徑。Compose將會利用Dockerfile自動構建鏡像,然后使用鏡像啟動服務容器。
      build: /path/to/build/dir
      也可以是相對路徑,只要上下文確定就可以讀取到Dockerfile。

      build: ./dir

      設定上下文根目錄,然后以該目錄為準指定Dockerfile。

      build:
        context: ../
        dockerfile: path/of/Dockerfile

      build都是一個目錄,如果要指定Dockerfile文件需要在build標簽的子級標簽中使用dockerfile標簽指定。
      如果同時指定image和build兩個標簽,那么Compose會構建鏡像并且把鏡像命名為image值指定的名字。

      4、context
      context選項可以是Dockerfile的文件路徑,也可以是到鏈接到git倉庫的url,當提供的值是相對路徑時,被解析為相對于撰寫文件的路徑,此目錄也是發送到Docker守護進程的context

      build:
        context: ./dir

      5、dockerfile
      使用dockerfile文件來構建,必須指定構建路徑

      build:
        context: .
        dockerfile: Dockerfile-alternate

      dockerfile指令不能跟image同時使用,否則Compose將不確定根據哪個指令來生成最終的服務鏡像。

      6、command
      使用command可以覆蓋容器啟動后默認執行的命令。

      command: bundle exec thin -p 3000

      7、container_name
      Compose的容器名稱格式是:<項目名稱><服務名稱><序號>
      可以自定義項目名稱、服務名稱,但如果想完全控制容器的命名,可以使用標簽指定:

      container_name: app

       

      8、depends_on
      在使用Compose時,最大的好處就是少打啟動命令,但一般項目容器啟動的順序是有要求的,如果直接從上到下啟動容器,必然會因為容器依賴問題而啟動失敗。例如在沒啟動數據庫容器的時候啟動應用容器,應用容器會因為找不到數據庫而退出。depends_on標簽用于解決容器的依賴、啟動先后的問題。

       
      version: '2'
      services:
        web:
          build: .
          depends_on:
            - db
            - redis
        redis:
          image: redis
        db:
          image: postgres
       

      上述YAML文件定義的容器會先啟動redis和db兩個服務,最后才啟動web 服務。

      9、pid

      pid: "host"

      將PID模式設置為主機PID模式,跟主機系統共享進程命名空間。容器使用pid標簽將能夠訪問和操縱其他容器和宿主機的名稱空間。

      10、ports

      ports用于映射端口的標簽。
      使用HOST:CONTAINER格式或者只是指定容器的端口,宿主機會隨機映射端口。

       
      ports:
       - "3000"
       - "8000:8000"
       - "49100:22"
       - "127.0.0.1:8001:8001"
       

       

      當使用HOST:CONTAINER格式來映射端口時,如果使用的容器端口小于60可能會得到錯誤得結果,因為YAML將會解析xx:yy這種數字格式為60進制。所以建議采用字符串格式。

      11、extra_hosts

      添加主機名的標簽,會在/etc/hosts文件中添加一些記錄。

      extra_hosts:
       - "somehost:162.242.195.82"
       - "otherhost:50.31.209.229"

      啟動后查看容器內部hosts:

      162.242.195.82  somehost
      50.31.209.229   otherhost

       

      12、volumes

      掛載一個目錄或者一個已存在的數據卷容器,可以直接使用 [HOST:CONTAINER]格式,或者使用[HOST:CONTAINER:ro]格式,后者對于容器來說,數據卷是只讀的,可以有效保護宿主機的文件系統。
      Compose的數據卷指定路徑可以是相對路徑,使用 . 或者 .. 來指定相對目錄。
      數據卷的格式可以是下面多種形式:

       
      volumes:
        // 只是指定一個路徑,Docker 會自動在創建一個數據卷(這個路徑是容器內部的)。
        - /var/lib/mysql
        // 使用絕對路徑掛載數據卷
        - /opt/data:/var/lib/mysql
        // 以 Compose 配置文件為中心的相對路徑作為數據卷掛載到容器。
        - ./cache:/tmp/cache
        // 使用用戶的相對路徑(~/ 表示的目錄是 /home/<用戶目錄>/ 或者 /root/)。
        - ~/configs:/etc/configs/:ro
        // 已經存在的命名的數據卷。
        - datavolume:/var/lib/mysql
       

      如果不使用宿主機的路徑,可以指定一個volume_driver。

      volume_driver: mydriver

      13、volumes_from

      從另一個服務或容器掛載其數據卷:

      volumes_from:
         - service_name    
           - container_name

      14、dns

      自定義DNS服務器??梢允且粋€值,也可以是一個列表。

      dns:8.8.8.8
      dns:
          - 8.8.8.8    
            - 9.9.9.9

      15、dns_search

      配置DNS搜索域??梢允且粋€值,也可以是一個列表。

       
      dns_search:example.com
      dns_search:
          - domain1.example.com
          - domain2.example.com
      16、entrypoint
       

      在Dockerfile中有一個指令叫做ENTRYPOINT指令,用于指定接入點。
      在docker-compose.yml中可以定義接入點,覆蓋Dockerfile中的定義:

      entrypoint: /code/entrypoint.sh

      17、env_file

      在docker-compose.yml中可以定義一個專門存放變量的文件。
      如果通過docker-compose -f FILE指定配置文件,則env_file中路徑會使用配置文件路徑。
      如果有變量名稱與environment指令沖突,則以后者為準。格式如下:

      env_file: .env

      或者根據docker-compose.yml設置多個:

      env_file:
        - ./common.env
        - ./apps/web.env
        - /opt/secrets.env

      如果在配置文件中有build操作,變量并不會進入構建過程中。

      18、cap_add

      增加指定容器的內核能力(capacity)。
      讓容器具有所有能力可以指定:

      cap_add:
          - ALL

      19、cap_drop

      去掉指定容器的內核能力(capacity)。
      去掉NET_ADMIN能力可以指定:

      cap_drop:
          - NET_ADMIN

       

      創建了一個cgroup組名稱為cgroups_1:

      cgroup_parent: cgroups_1

       

      21、devices

      指定設備映射關系,例如:

      devices:
          - "/dev/ttyUSB1:/dev/ttyUSB0"

      22、expose

      暴露端口,但不映射到宿主機,只允許能被連接的服務訪問。僅可以指定內部端口為參數,如下所示:

      expose:
          - "3000"
          - "8000"

      23、extends

      基于其它模板文件進行擴展。例如,對于webapp服務定義了一個基礎模板文件為common.yml:

       
      # common.yml
      webapp:
          build: ./webapp
          environment:
              - DEBUG=false
              - SEND_EMAILS=false
       

      再編寫一個新的development.yml文件,使用common.yml中的webapp服務進行擴展:

       
      # development.yml
      web:
          extends:
              file: common.yml
              service: webapp
          ports:
              - "8000:8000"
          links:
              - db
          environment:
              - DEBUG=true
      db:
          image: mysql
       

      后者會自動繼承common.yml中的webapp服務及環境變量定義。
      extends限制如下:
      A、要避免出現循環依賴
      B、extends不會繼承links和volumes_from中定義的容器和數據卷資源
      推薦在基礎模板中只定義一些可以共享的鏡像和環境變量,在擴展模板中具體指定應用變量、鏈接、數據卷等信息

      24、external_links

      鏈接到docker-compose.yml外部的容器,可以是非Compose管理的外部容器。

      external_links:
          - redis_1
          - project_db_1:mysql
          - project_db_1:postgresql

      25、labels

      為容器添加Docker元數據(metadata)信息。例如,可以為容器添加輔助說明信息:

      labels:
          com.startupteam.description: "webapp for a strtup team"

      26、links

      鏈接到其它服務中的容器。使用服務名稱(同時作為別名),或者“服務名稱:服務別名”(如 SERVICE:ALIAS),例如:

      links:
          - db
          - db:database
          - redis

      使用別名將會自動在服務容器中的/etc/hosts里創建。例如:

      172.17.2.186  db
      172.17.2.186  database
      172.17.2.187  redis

      27、log_driver

      指定日志驅動類型。目前支持三種日志驅動類型:

      log_driver: "json-file"
      log_driver: "syslog"
      log_driver: "none"

      28、log_opt

      日志驅動的相關參數。例如:

      log_driver: "syslog"log_opt: 
          syslog-address: "tcp://192.168.0.42:123"

      29、net

      設置網絡模式。

      net: "bridge"
      net: "none"
      net: "host"

       

      30、security_opt

      指定容器模板標簽(label)機制的默認屬性(用戶、角色、類型、級別等)。例如,配置標簽的用戶名和角色名:

      security_opt:
          - label:user:USER
          - label:role:ROLE

      31、環境變量

      環境變量可以用來配置Docker-Compose的行為。
      COMPOSE_PROJECT_NAME
      設置通過Compose啟動的每一個容器前添加的項目名稱,默認是當前工作目錄的名字。
      COMPOSE_FILE
      設置docker-compose.yml模板文件的路徑。默認路徑是當前工作目錄。
      DOCKER_HOST
      設置Docker daemon的地址。默認使用unix:///var/run/docker.sock。 DOCKER_TLS_VERIFY
      如果設置不為空,則與Docker daemon交互通過TLS進行。
      DOCKER_CERT_PATH
      配置TLS通信所需要的驗證(ca.pem、cert.pem 和 key.pem)文件的路徑,默認是 ~/.docker 。

      五 Docker-Compose模板文件示例

      1、docker-compose模板文件編寫

      docker-compose.yaml文件如下:

       
      [root@topcheer docker]# cat docker-compose.yml
      version: '2'
      services:
        web1:
          image: nginx
          ports:
            - "6061:80"
          container_name: "web1"
        web2:
          image: nginx
          ports:
            - "6062:80"
          container_name: "web2"
      [root@topcheer docker]# 
       

      docker-compose.yaml文件指定了二個web服務。

      2、啟動應用

      創建一個webapp目錄,將docker-compose.yaml文件拷貝到webapp目錄下,使用docker-compose啟動應用。

      docker-compose up -d

       

      3、服務訪問

       

      鳴謝:

      http://www.rzrgm.cn/dalianpai/p/11951679.html 

      posted @ 2022-12-09 14:10  春光牛牛  閱讀(2014)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美性色黄大片www喷水| 久久精品av国产一区二区| 激情综合网五月激情五月| 国产精品人妻在线观看| 免费人成在线视频无码| 成人免费无遮挡在线播放| 久久九九兔免费精品6| 亚洲精品专区永久免费区| 日本高清中文字幕免费一区二区| 日韩人妻无码一区二区三区综合部| 99久久国产一区二区三区| 啦啦啦视频在线日韩精品| 欧美乱人伦人妻中文字幕| 99久久精品国产熟女拳交| 宅男噜噜噜66在线观看| 国产视频一区二区三区麻豆 | 国产69精品久久久久777| 无码人妻一区二区三区精品视频| 欧美日韩一区二区三区视频播放| 中文字幕在线无码一区二区三区| 深夜av在线免费观看| 自拍亚洲一区欧美另类| 日韩人妻少妇一区二区三区| 国内极度色诱视频网站 | 一区二区三区四区精品视频| 最新亚洲人成网站在线影院| 成人免费无码av| 国产精品小仙女自拍视频| 91亚洲国产成人精品性色| 欧美亚洲h在线一区二区| 午夜爽爽爽男女免费观看影院| 成人自拍短视频午夜福利| 在线精品国产中文字幕| 久久精品无码免费不卡 | 一 级做人爱全视频在线看 | 不卡乱辈伦在线看中文字幕| 国产精品久久久一区二区| 九九热在线免费视频精品| 亚洲色大成网站WWW永久麻豆| 亚洲精品国产免费av| 18禁午夜宅男成年网站|