欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網
          最全最豐富的資訊網站

          Docker應用 – 使用Docker Compose編排容器

          前言

          ?上兩篇文章都是再玩兒Dockerfile,主要是基于Dockerfile構建各種服務鏡像。而本文將介紹及演示docker的自動編排工具——docker compose的概念和使用。

          • 揭開Docker的面紗 – 基礎理論梳理和安裝流程演示  http://www.haoyitu.cn/Linux/2020-04/163003.htm
          • Docker基礎命令詳解 – 鏡像及容器操作  http://www.haoyitu.cn/Linux/2020-04/163005.htm
          • 深入理解Docker的硬件資源控制與驗證  http://www.haoyitu.cn/Linux/2020-04/163006.htm
          • Docker網絡模式與配置Docker自定義網絡(bridge模式)  http://www.haoyitu.cn/Linux/2020-04/163007.htm
          • Docker構建鏡像的三種方式(Dockerfile初步)  http://www.haoyitu.cn/Linux/2020-04/163008.htm
          • 教你如何搭建Docker私有倉庫  http://www.haoyitu.cn/Linux/2020-04/163009.htm
          • 深入理解Docker數據管理與端口映射  http://www.haoyitu.cn/Linux/2020-04/163010.htm
          • Dockerfile與Dockerfile實戰(zhàn)  http://www.haoyitu.cn/Linux/2020-04/163011.htm
          • Dockerfile與Dockerfile實戰(zhàn) http://www.haoyitu.cn/Linux/2020-04/163011.htm

          什么是docker compose?

          ?先前我們在使用Dockerfile構建鏡像時,在編寫好Dockerfile文件以及其他必要文件后,需要使用docker build 、docker run 等命令操作{創(chuàng)建,啟動,停止等}容器。然而,在微服務架構體系中,一個應用系統(tǒng)一般包含若干個服務器,每個微服務通常都會部署多個實例,如果每個服務都要手動啟停,那么這樣效率太低了,而且維護也非常不方便。

          ?因此,便有了docker compose,它可以輕松、高效地管理容器,是一個用于定義和運行多容器docker的應用程序工具。

          下面結合實際例子來使用以下docker compose工具吧,之后會給出編排文件常用的字段介紹以及docker-compose的相關命令介紹。

          基于docker compose工具構建nginx容器服務

          首先,我們需要創(chuàng)建一個目錄,其中需要包含一個構建Dockerfile的nginx目錄,首頁頁面測試目錄以及docker-compose.yml文件

          所以,一方面我們需要docker安裝環(huán)境,也需要安裝docker compose工具;

          再者,依舊是需要編寫nginx服務的Dockerfile和運行腳本,結合指定的頁面目錄來進行測試驗證;

          接下來,編寫yml格式的docker-compose.yml文件,并且執(zhí)行對應的命令。

          下面是這個案例的目錄結構

          [root@localhost opt]# tree compose_nginx/  compose_nginx/  ├── docker-compose.yml  ├── nginx  │?? ├── Dockerfile  │?? └── nginx.sh  └── wwwroot      └── index.html    2 directories, 4 files  

          Dockerfile以及對應的文件都無需更改,我們需要做的就是編寫一個首頁頁面

          [root@localhost opt]# cat compose_nginx/wwwroot/index.html   <h1>this is test web</h1>  

          接著編寫docke-compose.yml文件

          [root@localhost opt]# cat compose_nginx/docker-compose.yml   version: '3'  services:    nginx:      hostname: nginx      build:        context: ./nginx        dockerfile: Dockerfile      ports:        - 1216:80        - 1217:443      networks:        - cluster      volumes:        - ./wwwroot:/usr/local/nginx/html  networks:    cluster:  

          docker-compose.yml文件解釋

          version:聲明版本,目前是3  service:具體的服務  nginx:服務名稱  hostname:容器主機名稱  build:創(chuàng)建  context:提供資源和素材提供的目錄,用來創(chuàng)建容器的路徑  dockerfile:Dockerfile文件  ports:提供的端口,相當于執(zhí)行docker run -p的設置  networks:網絡名稱,如果是群集那么這個名稱設置需要一致(同一個網絡環(huán)境)  volumes:數據卷,本次案例是提供首頁頁面  networks:services的子選項針對外公開的網絡名稱

          啟動運行

          [root@localhost opt]# docker-compose -f compose_nginx/docker-compose.yml up -d  #-f——指定文件   -d——后臺 up——啟動  ....//第一次執(zhí)行過程比較久,顯示信息多,這里就省略了。

          運行的結果和一些解釋如下圖

          Docker應用 - 使用Docker Compose編排容器

          如果重復執(zhí)行上述命令則會出現以下結果,因此這個WARNING是一個比較友好的提示哦!

          [root@localhost opt]# docker-compose -f compose_nginx/docker-compose.yml up -d  compose_nginx_nginx_1 is up-to-date  

          查看鏡像和容器

          [root@localhost opt]# docker images  REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE  compose_nginx_nginx   latest              67f9a64cc32d        5 minutes ago       587MB  CentOS                7                   5e35e350aded        5 months ago        203MB  [root@localhost opt]# docker ps -a  CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                                         NAMES  8f3d48d7c765        compose_nginx_nginx   "/nginx.sh"         5 minutes ago       Up 5 minutes        0.0.0.0:1216->80/tcp, 0.0.0.0:1217->443/tcp   compose_nginx_nginx_1  

          測試驗證:

          Docker應用 - 使用Docker Compose編排容器

          Docker compose配置常用字段(.yml文件中)

          Docker應用 - 使用Docker Compose編排容器

          Docker compose常用命令(bash終端)

          Docker應用 - 使用Docker Compose編排容器

          贊(0)
          分享到: 更多 (0)
          網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號