1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          compose(Compose的概念和用法)

          來源:互聯網轉載 時間:2024-05-11 17:53:01
          • Compose項目是docker官方的開源項目,負責實現對docker容器集群的快速編排。其代碼目前在http://github.com/docker/compose上開源。

            • Compose定位是定義和運行多個docker容器的應用,其前身是開源項目Fig。

          • 通過前面章節的介紹,我們知道使用一個Dockerfile模板文件,可以讓用戶很方便的定義一個單獨的應用容器。然而,在日常工作中,經常會碰到需要多個容器相互配合來完成某項任務的情況。例如要實現一個web項目,除了web服務容器本身,往往還需要再加上后端的數據庫服務容器,甚至還包括負載均衡容器等。

          • Compose恰好滿足了這樣的需求。它允許用戶通過一個單獨的docker-compose.yml模板文件來定義一組相關聯的應用容器為一個項目;

          • Compose中有兩個重要的概念:

            • 服務(service):一個應用的容器,實際上可以包括若干運行相同鏡像的容器實例;

            • 項目(project):由一組關聯的應用容器組成的一個完成業務單元。

          • Compose的默認管理對象是項目,通過子命令對項目中的一組容器進行便捷的聲明周期管理;

          • Compose項目由Python編寫,實際上調用了docker服務提供的API來對容器進行管理。

          • 使用Compose構建dubbo-admin服務

            • 從github上獲取dubbo-admin的master分支源碼

              gitclone-bmasterhttps://github.com/apache/incubator-dubbo-ops.git


            • 修改admin中的application配置,把zookeeper地址修改為zookeeper://zookeeper:2181;

            • 使用maven進行編譯打包:

              mvncleanpackage-Dmaven.test.skip=true


            • 在dubbo-admin目錄下編寫Dockerfile文件,內容為

              #FROM,表示使用jdk8環境為基礎鏡像,如果鏡像不是本地的會從DockerHub進行下載FROMopenjdk:8-jdk-alphine#作者MAINTAINERstudy.163.com<allen@163.com>VOLUME/tmp#ADD,拷貝文件并且重命名ADD./target/dubbo-admin-0.0.1-SNAPSHOT.jarapp.jar#ENTRYPOINT,為了縮短Tomcat的啟動時間,添加java.security.egd的系統屬性指向/dev/urandom作為ENTRYPOINTENTRYPOINT["java","-Djava.security.egd=file:/dev/.urandom","-jar","/app,.jar"]


            • 使用docker build -t dubbo-admin:1.0 .命令進行構建。

            • 在項目根目錄下編寫docker-compose.yml文件,這個是Compose使用的主模板文件

              version:'3.4'services:zk_server:image:zookeeper:3.4ports:-2181:2181dubbo-admin:image:dubbo-admin-1.0links:-zk_server:zookeeperports:-7001:7001


          • Compose命令說明

            • 執行dcoker-compose [COMMAND] --help或者docker-compose help [COMMAND]可以查看某個具體命令的使用格式。

              #docker-compose命令的基本的使用格式是:docker-compose[-f=<arg>...][options][COMMAND][ARGS...]


            • 命令選項

            • -f, --file <FILE>指定模板文件,默認為docker-compose.yml,可以多次指定;

            • -p, --project-name <NAME>指定項目名稱,默認將使用所在目錄名稱為項目名;

            • --x-networking使用docker的可插拔網絡后端特性;

            • --x-network-driver <DRIVER>指定網絡后端的驅動,默認為bridge;

            • --verbose輸出更多調試信息;

            • -v, --version打印版本并退出;

            • 命令對象與格式

          • Compose命令對象

          命令說明
          build格式為docker-compose build [options] [SERVICE...]。構建(重新構建)項目中的服務容器??梢噪S時在項目目錄下運行docker-compose build來重新構建服務。選項包括:<br />1. --force-rm刪除構建過程中的臨時容器;<br />2. --no-cache構建鏡像過程中不使用cache(這將加長構建過程);<br />3. --pull始終嘗試通過pull來獲取更新版本的鏡像;
          version執行格式為docker-comose version,打印版本信息。
          config驗證Compse格式是否正確,若正確則顯示配置,若格式錯誤顯示錯誤原因
          exec進入指定的容器
          images列出Compose文件包含的鏡像
          logs格式為docker-compose logs [options] [SERVICE...]。查看服務容器的輸出,默認情況下,docker-compose將對不同的服務輸出使用不同的顏色來區分??梢酝ㄟ^--no-color來關閉顏色
          down停止up命令所啟動的容器,并移除網絡。
          help獲得一個命令的幫助
          kill通過發送SIGKILL信號來強制停止服務容器
          pause格式為docker-compose pause [SERVICE...],暫停一個服務容器。
          port格式為docker-compose port [options] SERVICE PRIVATE_PORT,打印某個容器端口所映射的公共端口。選項:<br />1. --protocol=proto指定端口協議,tcp(默認值)或者upd;<br />2. --index=index如果同一服務存在多個容器,指定命令對象容器的序號(默認為1)。
          ps格式為docker-compse ps [options] [SERVICE...],列出項目中目前的所有容器。選項:<br />1. -q只打印容器的ID信息;
          push推送服務依賴的鏡像到docker鏡像倉庫;
          pull格式為docker-compse pull [options] [SERVICE...]。拉取服務依賴的鏡像,選項:<br />1. --ignore-pull-failures忽略拉取鏡像過程中的錯誤。
          restart格式為docker-compose restart [options] [SERVICE...],重啟項目中的服務。選項:<br />1. -t, --timeout TIMEOUT指定重啟前停止容器的超時時間(默認為10秒)。
          rm格式為docker-compose rm [options] [SERVICE...],刪除所有(停止狀態的)服務容器。推薦先執行docker-compose stop命令來停止容器。選項:<br />1. -f, --force強制直接刪除,包括非停止狀態的容器。一般盡量不要使用該選項;<br />2. -v刪除容器所掛載的數據卷。
          run格式為docker-compose run [options] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...],在指定服務上執行一個命令。例如docker-compose run ubuntu ping docker.com
          scale格式為docker-compose scale [options] [SERVICE=NUM...],設置指定服務運行的容器個數。例如docker-compose scale web=3 db=2,將啟動3個容器運行web服務,2個容器運行db服務。
          start格式為docker-compose start [SERVICE...],啟動已經存在的服務容器
          stop停止已經存在的服務容器
          top查看各個服務容器內運行的進程
          unpause格式為docker-compose unpause [SERVICE...],恢復處于暫停狀態到的服務。
          up該命令十分強大,它將嘗試自動完成包括構建鏡像,(重新)創建服務,啟動服務,并關聯服務相關容器的一系列操作。鏈接的服務都將會自動啟動,除非已經處于運行狀態。選項:<br />1. -d在后臺運行服務容器;<br />2. --no-color不使用顏色來區分不同的服務的控制臺輸出;<br />3. --no-deps不啟動服務所鏈接的容器;<br />4. --force-recreate強制重新創建容器,不能與--no-recreate同時使用;<br />5. --no-recreate如果容器已經存在了,則不重新創建,不能與--force-recreate同時使用;<br />6. --no-build不自動構建缺失的服務鏡像;<br />7. -t, --timeout TIMEOUT停止容器時的超時時間。
          • Compose模板文件

            • 模板文件是使用Compose的核心,設計到的指令關鍵字也比較多,但大家不要擔心,這里面大部分指令跟docker run相關參數的含義都是類似的。默認的模板文件名稱為docker-compose.yml,格式為YAML格式;

            • 注意每個服務都必須通過image指令指定鏡像或build指令(需要Dockerfile)等來自動構建生成鏡像;

            • 如果使用build指令,在Dockerfile中設置的選項(例如:CMD,EXPOSE,VOLUME,ENV等)將會自動被獲取,無需在docker-compose.yml中再次設置。

          • build指令

            • 指定Dockerfile所在文件夾的路徑(可以是絕對路徑,或者相對docker-compose.yml文件的路徑)。Compose將會利用它自動構建這個鏡像,然后使用這個鏡像;

            • 使用context指令指定Dockerfile所在文件夾的路徑;

            • 使用dockerfile指令指定Dockerfile文件名;

            • 使用arg指令指定構建鏡像時的變量;

              version:'3'services:webapp:build:context:./dirdockerfile:Dockerfile-alternateargs:buildno:1


          • command指令

            • 覆蓋容器啟動后默認執行的命令

              command:echo"helloworld"


          • container_name指令

            • 指定容器名稱。默認將會使用“項目名稱_服務名稱_序號”這樣的格式

              container_name:docker-web-container


          • configs指令

            • 僅用于Swarm mode,詳細內容后面swarm mode會講到

          • deploy指令

            • 僅用于Swarm mode,詳細內容后面swarm mode會講到

          • devices指令

            • 指定設備映射關系

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


          • depends_on指令

            • 解決容器的依賴、啟動先后的問題

          • dns指令

            • 自定義DNS服務器,可以是一個值,也可以是一個列表

              dns:8.8.8.8dns:-8.8.8.8-114.114.114.114


          • environment指令

            • 設置環境變量。你可以使用數組或字典兩種格式。之給定名稱的變量會自動獲取運行Compose主機上對應變量的值,可以用來防止泄露不必要的數據。

              environment:RACK_ENV:developmentSESSION_SECRET:environment:-RACK_ENV=development-SESSION_SECRET


          • expose指令

            • 暴露端口,但不映射到宿主機,只被連接的服務訪問。進可以指定內部端口為參數。

              expose:-"3000"-"8000"


          • extra_hosts指令

            • 類似Docker中的--add-host參數,指定額外的host名稱映射信息。會在啟動后的服務容器中/etc/hosts文件中添加一條條目8.8.8.8 googledns。

              extra_hosts:-"googledns:8.8.8.8"


          • healthcheck指令

            • 通過命令檢查容器是否健康運行

              healthcheck:test:["CMD","curl","-f","http://localhost"]interval:1m30stimeout:10sretries:3


          • image指令

            • 指定為鏡像名稱或鏡像ID,如果鏡像在本地不存在,Compose會嘗試拉取這個鏡像

              image:session-web:latest


          • labels指令

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

          • links指令

            • 連接到其他容器。注意:不推薦使用該指令。應該使用docker network建立網絡,而docker run --network來連接特定網絡,或者使用versionn: '2'和更高版本的docker-compose.yml直接定義自定義網絡并使用。

          • network_mode指令

            • 設置網絡模式。使用和docker run--network參數一樣的值。

              network_mode:"bridge"network_mode:"host"network_mode:"none"


          • networks指令

            • 配置容器連接的網絡

              version:"3"services:some-service:networks:-some-networknetworks:some-network:


          • ports指令

            • 暴露端口信息。使用宿主端口:容器端口(HOST:CONTAINER)格式,或者僅僅指定容器的端口(宿主將會隨機選擇端口)都可以。

          • volumes指令

            • 數據卷所掛載路徑設置,可以設置宿主機路徑,同時支持相對路徑

              volumes:-/var/lib/MySQL-cache/:/tmp/cache-~/configs:/etc/configs/:ro


          • ulimits指令

            • 指定容器的ulimits限制值。例如,指定最大進程數為65535,指定文件句柄數為20000(軟限制,應用可以隨時修改,不能超過硬限制)和40000(系統硬限制,只能root用戶提高)。

              ulimits:nproc:65535nofile:soft:20000hard:40000


          • 其他指令

            • 指定服務容器啟動后執行的入口文件

              entrypoint:/code/entrypoint.sh


            • 指定容器中運行應用的用戶名

              user:nginx


            • 指定容器中工作目錄

              working_dir:/code


            • 指定容器中搜索域名、主機名、mac地址等

              domainname:your_website.comhostname:testmac_address:08-00-27-00-0C-0A


            • 允許容器中運行一些特權命令

              privileged:true


            • 指定容器退出后的重啟策略為始終重啟。在生產環境中推薦配置為always或者unless-stopped

              restart:always


            • 以只讀模式掛載容器的root文件系統,意味著不能對容器內容進行修改

              read_only:true


            • 打開標準輸入,可以接受外部輸入

              stdin_open:true


            • 模擬一個偽終端

              tty:true


            • 此外,還有包括domainname,entrypoint,hostname,ipc,mac_address,privileged,read_only,shm_size,restart,stdin_open,tty,user,working_dir等指令,基本跟docker run中對應參數的功能一致。

          • 讀取變量

            • Compose模板文件支持動態讀取主機的系統環境變量和當前目錄下的.env文件中的變量。例如,下面的Compose文件將從運行它的環境中讀取變量${MONGO_VERSION}的值,并寫入執行的指令中。

              version:"3"services:db:image:"mongo:${MONGO_VERSION}"


            • 如果執行的MONGO_VERSION=3.2,docker-compose up則會啟動一個mongo:3.2鏡像的容器。若當前目錄下存在.env文件,執行docker-compose命令時將從該文件中讀取變量。

          到此,相信大家對“Compose的概念和用法”有了更深的了解,不妨來實際操作一番吧!這里是本站網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

          標簽:compose-

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          全球通銀卡客戶是什么意思?全球通銀卡客戶是指客戶在中國移動的一種等級。全球通銀卡指的是全球通客戶的評級是銀卡等級,是指客戶在中國移動的評定等級。根據不同的評級,移動客戶可以享受的權益也不-樣。其中,全球通銀卡可以享受全球最高的服務。全球通銀卡的加入條件全球通銀卡的添加標準是戶在網上年度的消費積分需要超過2900分,并且戶需要為中國移動通訊“全球通”的品牌客戶。全球通銀卡的積...

          什么是農業銀行惠農卡?金穗惠農卡和金穗借記卡有什么區別?金穗惠農卡就是中國農業銀行基于金穗借記卡業務平臺開發的,面向廣大農民的綜合性銀行卡產品,惠農卡作為借記卡產品之一, 具備現金存取、轉賬結算、消費、理財等基礎金融功能,可以在線操作,實時核算。金穗惠農卡和金穗借記卡的區別一、性質不同.1、金穗惠農卡金穗惠農卡是中國農業銀行基于金穗借記卡業務平臺研發的,面向全體農戶發行的綜合性銀行卡產品。2、金穗...

          (資料圖片僅供參考)生活中,很多人都不知道趙寶剛青春三部曲最后一部 趙寶剛青春三部曲,其實非常簡單,下面就是小編搜索到的趙寶剛青春三部曲最后一部 趙寶剛青春三部曲相關的一些知識,我們一起來學習下吧!今天來聊聊關于趙寶剛青春三部曲最后一部,趙寶剛青春三部曲的文章,現在就為大家來簡單介紹下趙寶剛青春三部曲最后一部,趙寶剛青春三部曲,希望對各位小伙伴們有所幫助。1、趙寶剛的青春三部曲第二部:《我的青春誰...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>